job A → WebClient A → proxy A → destination
job B → WebClient B → proxy B → destination

Assign a configured HtmlUnit WebClient to each simultaneous browsing identity. Its WebClientOptions owns ProxyConfig; treat the route as fixed while the job is running. A shared job queue does not require one shared mutable browser. For permitted public-page checks using HTTP ProxyConfig, choose candidate endpoints from the HTTP proxy list before assigning them to workers.

Keep the page, subsequent loads and session state with that client. Changing proxy options cannot transplant established connections. Separate clients create separate browser state too, so plan any intended shared login rather than assuming routing alone determines identity. Proxy authentication uses the installed HtmlUnit version's interface and remains separate from website login.

Define completion before returning a browser to a pool. The top-level response can arrive while scripts or background requests continue. Finish or cancel that work, clear state the next identity must not inherit, and retire the client if that boundary cannot be established reliably.

Bound active client count and close completed WebClients. A browser parses and may execute scripts, costing more than a plain transfer. For a job needing only returned HTML, a smaller HTTP client may support more concurrent requests within the same resource budget.

Winndannde jowitiiɗe heen