Jim Ma [http://community.jboss.org/people/jim.ma] created the discussion

"CXF jms integration"

To view the discussion, visit: http://community.jboss.org/message/536441#536441

--------------------------------------------------------------
After looked at Alessio's work about cxf descriptor deployment and lazy bus 
load removal , I'd like to discuss with you about my thoughts about jms 
integration. Here is what in my mind so far .As we talked before , we need to 
introduce other deployer or deployerAspect to make cxf stack directly 
deploy/load jbossws-cxf.xml. IMO, the easy approach to implement this is adding 
several real stage deployers to the current deployer chain to take care of the 
jms deployment without web.xml:     
`--org.jboss.webservices.integration.deployers.wsejbadapterdeplo...@4007f4 
`--org.jboss.webservices.integration.deployers.wstypedeplo...@d6f833 
`--org.jboss.webservices.integration.deployers.wsdeploymentdeplo...@103ddfd 
`--org.jboss.webservices.integration.deployers.wsdeploymentaspectdeplo...@1279d82(org.jboss.wsf.framework.deployment.endpointmetricsdeploymentasp...@b77801)
 
`--org.jboss.webservices.integration.deployers.wsdeploymentaspectdeplo...@1fa6e43(org.jboss.webservices.integration.metadata.containermetadatadeploymentasp...@1e7c7fb)
 
`--org.jboss.webservices.integration.deployers.wsdeploymentaspectdeplo...@fcc66a(org.jboss.wsf.framework.deployment.endpointhandlerdeploymentasp...@18b3f9a)
 
`--org.jboss.webservices.integration.deployers.wsdeploymentaspectdeplo...@124a94(org.jboss.wsf.framework.deployment.backwardcompatiblecontextrootdeploymentasp...@6fcd57)
 
`--org.jboss.webservices.integration.deployers.wsdeploymentaspectdeplo...@4aba6a(org.jboss.wsf.framework.deployment.urlpatterndeploymentasp...@fb39f6)
 
`--org.jboss.webservices.integration.deployers.wsdeploymentaspectdeplo...@8d69f8(org.jboss.wsf.framework.deployment.endpointaddressdeploymentasp...@13bf9ce)
 
`--org.jboss.webservices.integration.deployers.wsdeploymentaspectdeplo...@1f99aa6(org.jboss.wsf.framework.deployment.endpointnamedeploymentasp...@929ed4)
 
`--org.jboss.webservices.integration.deployers.wsdeploymentaspectdeplo...@1f8a03f(org.jboss.wsf.framework.deployment.virtualhostdeploymentasp...@4a9acb)
 
`--org.jboss.webservices.integration.deployers.wsdeploymentaspectdeplo...@e9635a(org.jboss.wsf.framework.deployment.jaxbintrodeploymentasp...@12cebd2)
 
`--org.jboss.webservices.integration.deployers.wsdeploymentaspectdeplo...@1744996(org.jboss.wsf.stack.cxf.deployment.aspect.descriptordeploymentasp...@1e890b4)
 
`--org.jboss.webservices.integration.deployers.wsdeploymentaspectdeplo...@864ae7(org.jboss.wsf.stack.cxf.deployment.aspect.resourceresolverdeploymentasp...@1214a13)
 
`--org.jboss.webservices.integration.deployers.wsdeploymentaspectdeplo...@4fdf56(org.jboss.wsf.stack.cxf.deployment.aspect.busdeploymentasp...@79bca4)
 
`--org.jboss.webservices.integration.deployers.wsdeploymentaspectdeplo...@6e1cbf(org.jboss.wsf.framework.deployment.contextpropertiesdeploymentasp...@827b51)
 
`--org.jboss.webservices.integration.deployers.wsdeploymentaspectdeplo...@786a44(org.jboss.webservices.integration.tomcat.webmetadatacreatingdeploymentasp...@c9f31e)
 
`--org.jboss.webservices.integration.deployers.wsdeploymentaspectdeplo...@1850507(org.jboss.webservices.integration.tomcat.webmetadatamodifyingdeploymentasp...@b6cddb)
 
`--org.jboss.webservices.integration.deployers.wsdeploymentaspectdeplo...@1ee86f2(org.jboss.webservices.integration.security.jaccpermissionsdeploymentasp...@1ec0b9d)
 
`--org.jboss.webservices.integration.deployers.wsdeploymentaspectdeplo...@31613(org.jboss.webservices.integration.injection.injectionmetadatadeploymentasp...@182ac61)
 
`--org.jboss.webservices.integration.deployers.wsdeploymentaspectdeplo...@1d61032(org.jboss.wsf.framework.deployment.endpointregistrydeploymentasp...@d91c60)
 
`--org.jboss.webservices.integration.deployers.wsdeploymentaspectdeplo...@1d37602(org.jboss.wsf.framework.deployment.endpointrecordprocessordeploymentasp...@9f987a)
 
`--org.jboss.webservices.integration.deployers.wsdeploymentaspectdeplo...@1a30367(org.jboss.wsf.framework.deployment.endpointlifecycledeploymentasp...@1bb1dd2)  
 + org.jboss.wsf.stack.cxf.deployment.JBossWSCXFMetaDataDeployer(to parse the 
jbossws-cxf.xml and create JBossWSCXFMetaData)  + 
org.jboss.wsf.stack.cxf.deployment.JBossWSCXFJAXBIntroDeploymentDeployer(to do 
the jaxb databinding customization)  + 
org.jboss.wsf.stack.cxf.deployment.JBossWSCXFDeploymentBuilderDeployer(to 
create deployment, service and endpoint etc)   + 
org.jboss.wsf.stack.cxf.deployment.JBossWSCXFDeploymentDeployer(to let the cxf 
bus load the jbossws-cxf.xml)  + 
org.jboss.wsf.stack.cxf.deployment.JBossWSCXFEndpointRegistryDeployer(to 
register the endpoint)  I marked the new add deployer with "+" prefix and these 
new add deployers will be put the end of the DeploymentAspect deplyers.    As 
you can see ,there will be some duplicate work/code in the these deployers with 
above DeploymentAspects. But it makes the deployer structure  more clear and 
these new added deployers are dedicated to handle the jms deployment and other 
stack specific deployment without web.xml.   The another option is we handle it 
both in integration layer and cxf stack : 1. Create a unified MetaData/holder 
to reprsent or place the stack specific deployment :jbossws-cxf.xml.  2. Modify 
the WSDeploymentDeployer to handle the deployment without JBossWebMetaData  3. 
Add the code in the current DepoymentAspects ,for example 
EndpointHandlerDeploymentAspect, DescriptorDeploymentAspect and 
BusDeploymentAspectin to process the stack specific deployment (without 
web.xml).   We can put the code to process the cxf jms deployment in each 
DeploymentAspect, so this approach will reuse the function in each deployment 
aspect.This will change a lot in current integration layer and deployers 
framework and it's a little bit complex.    After the comparison, I prefer to 
the first approach. Because at the moment, only cxf has this requirement to 
deploy stack specific deployment. And it is also simple :only adding some new 
additional deployers for cxf stack can make it work . It will not impact the 
other components : integration layer , spi and framework codebase.  You 
thoughts ?

--------------------------------------------------------------

Reply to this message by going to Community
[http://community.jboss.org/message/536441#536441]

Start a new discussion in JBoss Web Services Development at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2047]

_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to