Re: [jboss-user] [JBoss Web Services Development] - CXF jms integration
by Richard Opalka
Richard Opalka [http://community.jboss.org/people/richard.opalka%40jboss.com] replied to the discussion
"CXF jms integration"
To view the discussion, visit: http://community.jboss.org/message/541305#541305
--------------------------------------------------------------
> Jim Ma wrote:
>
> 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
You can start separate jbossws-dev forum thread for that. But I'd think about it like *How CXF does it?*
> Jim Ma wrote:
>
> 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 .
I don't see the conflict here with the suggestions I provided you. Deployers ordering is working properly these days.
But as discussed on IRC, forget about AS 5 integration. Just go forward with AS 6 ;)
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/541305#541305]
Start a new discussion in JBoss Web Services Development at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
14 years, 8 months
Re: [jboss-user] [JBoss Web Services Development] - CXF jms integration
by Richard Opalka
Richard Opalka [http://community.jboss.org/people/richard.opalka%40jboss.com] replied to the discussion
"CXF jms integration"
To view the discussion, visit: http://community.jboss.org/message/541304#541304
--------------------------------------------------------------
Hi Jim, I just reviewed your SPI and ASIL prototypes and here are my 2 cents:
SPI:
Remove org.jboss.wsf.spi.metadata.endpoints.EndpointsFactory (proprietary DD xml JBXB parsing)
Remove org.jboss.wsf.spi.metadata.endpoints.AbstractEndpointsDeployment (to don't publish proprietary DD)
I like org.jboss.wsf.spi.metadata.endpoints.jms.JMDDestinationMetaData
I like org.jboss.wsf.spi.metadata.endpoints.jms.JMDDestinationMetaData but remove static fields from it (proprietary DD xml JBXB parsing)
I like org.jboss.wsf.spi.metadata.endpoints.AddressMetaData (but it's name should be AbstractAddressMetaData because it's abstract class)
I like org.jboss.wsf.spi.metadata.endpoints.EndpointsMetaData (but remove URL related methods & fields)
I like org.jboss.wsf.spi.metadata.endpoints.EndpointMetaData (but here's some overlap with org.jboss.wsf.spi.deployment.Endpoint you should investigate/fix)
ASIL:
Remove org.jboss.webservices.integration.deployers.WSEndpointsDescriptorParserDeployer (proprietary DD xml parsing deployer)
Rewrite org.jboss.webservices.integration.deployers.WSEndpointsRealDeployer
- it have to be DA
- I would name it MetaDataBuilderJMS
- I would place it in package org.jboss.webservices.integration.metadata (because it provides JMS metadata)
Update WSDeploymentAspectDeployer to specify proper inputs/outputs according to passed DeploymentAspect type (JMS/Servlet)
Provide another DeploymentType (DeploymentType.JAXWS_JMS)
Update org.jboss.webservices.integration.deployers.deployment.WSDeploymentBuilder
- remove hacky code
- and provide proper DeploymentModelBuilderJAXWS_JMS integration
Implement org.jboss.webservices.integration.deployers.deployment.DeploymentModelBuilderJAXWS_JMS
- so it properly integrates with SPIEndpoint
- it handles new DeploymentType.JAXWS_JMS
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/541304#541304]
Start a new discussion in JBoss Web Services Development at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
14 years, 8 months
Re: [jboss-user] [JBoss Web Services Development] - CXF jms integration
by Jim Ma
Jim Ma [http://community.jboss.org/people/jim.ma] replied to the discussion
"CXF jms integration"
To view the discussion, visit: http://community.jboss.org/message/541296#541296
--------------------------------------------------------------
> 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 .
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/541296#541296]
Start a new discussion in JBoss Web Services Development at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
14 years, 8 months