1) AFAIK jbossws-cxf.xml is generated only in case there isn't one provided.
The scenario of deploying both JMS and Servlet endpoints in one war
using one jbossws-cxf.xml DD should be supported.
I don't expect any real issues with this scenario.
Sorry , I may do not explain this problem well . We now create SPI endpoint from ServletMetaData in web.xml . How to distinguish the jms tranport endpoint and create jms endpoint/MD from the user provided jbossws-cxf.xml like :
<jaxws:endpoint id='HttpHelloService'
implementor='org.jboss.test.ws.jaxws.samples.HelloImpl>
</jaxws:endpoint>
<!--jms endpoint->
<jaxws:endpoint id='JMSHelloService'
wsdlLocation="./wsdl/jms-samples.wsdl"
implementor='org.jboss.test.ws.jaxws.samples.HelloImpl>
</jaxws:endpoint>
True, you cannot resolve dependency on JMS deployers in DA code. This can be done only in deployers.
But you're able to detect if particular DA is JMS DA or Servlet DA. See my suggestion (the pseudocode)
in my previous post how to resolve this issue in our WSDeploymentAspectDeployer constructor.
IOW you shouldn't introduce additional deployers in AS IL. You should do everything in DAs and just leverage the AS IL integration code.
AFAIK, the hornetq deployers create BeanMetaData for queue/topic deployment descriptor
and KernalDeploymentDeployer will start/stop these BeanMetaData represents queue/topic created by hornetq deployers.
I understood your suggestion : use deployer input to put the JMS DA after the deployer deployed jms destination. In AS5 , we should put JMSDA after the last real stage deployer ServiceDeployer . AS6, we put JMSDA after KernalDeploymentDeployer. IOW, we do not rely on AS deployer frameworks' deployment dependency mechinism , we rely on the deployer order to resolve the deployment dependency. If this is acceptable and if you do not see any other problems , I will follow your suggestion (as your pseudocode shows) to rewrite .