[
https://issues.apache.org/jira/browse/AXIS2-4952?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12992571#comment-12992571
]
Jeff Barrett commented on AXIS2-4952:
-------------------------------------
I have a fix for this Jira. Here are some notes on the fix:
The flag to revert the behavior to sharing dynamic ports across services is
public static final String SHARE_DYNAMIC_PORTS_ACROSS_SERVICES =
"jaxws.share.dynamic.ports.enable"; declared in
modules/metadata/src/org/apache/axis2/jaxws/description/builder/MDQConstants.java.
A value of "true" will revert the behavior; the default value is null which
is interpreted as "false". See the javadoc on the field for more information.
Note that when the dynamic ports are scoped to the instance of the service that
created them, it will increase the memory usage, since each dynamic port across
different service instances will have context and metadata objects associated
with it. Those resources will be released for garbage collection when the
service instance goes out of scope. In order to force the release and not rely
on finalization of the service instance, there is a non-standard static method
that can be called:
org.apache.axis2.jaxws.spi.ServiceDelegate.releaseService(Service). See the
javadoc of that method for more information. Note that this method has been
there for a while; it was not added as part of the fix for this Jira.
The fix contains TDD Unit Tests to validate the new behavior and that the flag
reverts to the old behavior.
> JAX-WS dynamic ports should be scoped to the service instance the created them
> ------------------------------------------------------------------------------
>
> Key: AXIS2-4952
> URL: https://issues.apache.org/jira/browse/AXIS2-4952
> Project: Axis2
> Issue Type: Bug
> Components: jaxws
> Reporter: Jeff Barrett
> Assignee: Jeff Barrett
>
> When a JAX-WS dynamic port is added via addPort(...), it should be scoped to
> the instance of the service that created it. Currently dynamic ports are
> scoped in the runtime by (PortQName, Binding ID, Endpoint Address) across all
> services on a given configuration context. That means that different
> services will share the same dynamic ports based only on (PortQName, Binding
> ID, Endpoint Address), even if those services are entirely different (i.e.
> different service QNames).
> A flag needs to be provided to revert the behavior to share the dynamic ports
> across services.
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]