Check for a behavior change in JAX-WS dynamic port memory requirements

This rule flags the use of the javax.xml.ws.Service.addPort() method which is used to add JAX-WS dynamic ports.

Starting in WebSphere Application Server V7, JAX-WS dynamic ports might have additional memory requirements. In previous releases, a single instance of a dynamic port could be shared across multiple service instances. In version 7, dynamic ports are now scoped to the instance of the service that added them. If a JAX-WS client has multiple service instances which refer to a dynamic port of the same name, those instances are no longer shared. This can potentially increase the memory requirements for that client.

It is possible to revert the behavior by setting the system property jaxws.share.dynamic.ports.enable to the value true. However, note that doing so can cause some other issues, as described in the documentation Transitioning notes for development topics.

This property was initially added to WebSphere Application Server V8, but it was added to WebSphere Application Server 7.0.0.25: PM63537: ADD SHARE_DYNAMIC_PORTS_ACROSS_SERVICES JVM PROPERTY IN V7.