9. Changes in jbossws-spi and jbossws-cxf

The changes in the release are meant to improve stability, prevent concurrency issues and ensure thread safety whenever required.
To achieve this, some classes in the SPI have been refactored in non-backward compatible way.
Most users will not be affected by the changes, as the affected classes are intended for composing the integration interface between the webservice stack and the application server container, not for final user usage.
Final users should only expect migration changes required in their code if they are programmatically using the org.jboss.wsf.spi.metadata.config.CommonConfig and org.jboss.wsf.spi.management.ServerConfig interfaces or their implementors.
Below is a quick summary of the changes that might possibly impact users programmatically relying on the SPI modified classes:
The CommonConfig is now immutable. As a consequence the following methods have been removed:
  • public void setPostHandlerChains(List<UnifiedHandlerChainMetaData> postHandlerChain);
  • public void setPreHandlerChains(List<UnifiedHandlerChainMetaData> preHandlerChains);
  • public void setConfigName(String configName);
  • public void setFeature(Feature feature, boolean enabled);
  • public void setProperty(String name, String value);
The ServerConfig has a new mechanism for registering and unregistering CommonConfig instances (during the container boot), while preventing unsafe modifications at runtime. The user should be aware that the following methods have been deprecated.

Deprecated ServerConfig methods

  • public List<ClientConfig> getClientConfigs();
  • public List<EndpointConfig> getEndpointConfigs();

New ServerConfig methods

  • public ClientConfig getClientConfig(String name);
  • public EndpointConfig getEndpointConfig(String name);

Other changes not affecting common users

  • The constructors for org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData, org.jboss.wsf.spi.metadata.webservices.WebserviceDescriptionMetaData and org.jboss.wsf.spi.metadata.webservices.PortComponentMetaData have changed as instances of those classes are now immutable; this is relevant when using the org.jboss.wsf.spi.publish.EndpointPublisher which is (optionally) passed WebservicesMetaData instances.