Bound and shut down the response-endpoint resolver pool

Second pre-push review pass, both findings valid against the previous commit.

The cached pool was unbounded, so naming many distinct slow-resolving hosts
could spawn a thread per request -- one denial of service traded for another.
It is now capped at four threads with a 64-deep queue; a lookup refused because
the queue is full rejects the endpoint, which fails closed.

The pool was also never stopped, leaking the class loader across a
redeployment. The addressing module already implements Module.shutdown, so the
pool is torn down there -- the same treatment MultipartTempFileTracker gets from
AxisConfiguration.cleanup(), which this had not mirrored.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 files changed