9. Alterações do jbossws-spi e jbossws-cxf

As alterações neste lançamento tem como objetivo melhorar a estabilidade, prevenir o problema de simultaneidade e garantir a segurança do thread a todo o instante que solicitado.
Para atingir isto, algumas classes no SPI foram refatoradas numa forma compatível não-inversa.
A maioria dos usuários talvez não sejam afetados pelas alterações, uma vez que as classes afetadas são intencionadas à composição da interface de integração entre a pilha do webservice e o contêiner do servidor do aplicativo, e não para o uso do usuário final.
Os usuários finais devem apenas esperar por alterações de migração em seus códigos caso eles estejam usando de forma programática as interfaces org.jboss.wsf.spi.metadata.config.CommonConfig e org.jboss.wsf.spi.management.ServerConfig ou suas implementações.
Segue abaixo um sumário das alterações que podem impactar os usuários baseando-se programaticamente nas classes modificadas SPI:
O CommonConfig agora é imutável. Como consequência, os seguintes métodos foram removidos:
  • 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);
O ServerConfig possui um novo mecanismo para registrar e desregistrar as instâncias CommonConfig (durante o boot do contêiner), enquanto prevenindo modificações sem segurança no período de execução. O usuário deve estar ciente que os seguintes métodos foram preteridos.

Métodos ServerConfig preteridos

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

Novos métodos ServerConfig

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

Outras alterações não afetando os usuários comuns

  • Os construtores para o org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData, org.jboss.wsf.spi.metadata.webservices.WebserviceDescriptionMetaData e org.jboss.wsf.spi.metadata.webservices.PortComponentMetaData alteraram as instâncias dessas classes que são agora imutáveis. Isto é relevante quando usando o org.jboss.wsf.spi.publish.EndpointPublisher que é passado (opcionalmente) às instâncias WebservicesMetaData.