[jboss-user] [JBoss Web Services Development] - CXF jms integration

Jim Ma do-not-reply at jboss.com
Wed May 5 02:43:23 EDT 2010


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/541238#541238

--------------------------------------------------------------
Thanks Alessio and Richard's comments again . Let me summarize our discussion points first , then I will give the issues I can see from my previous experimental work on cxf/jms integration in past two weeks, then you and Richard can continue to add your thoughts and comments:

> 1)  Use jbossws-cxf.xml (cxf style configuration file) not the new introduced jbossws-endpoints.xml   .
> 

Looks like my previous 4 reasons are not the problems at all .  To simplify the things , we can use jbossws-cxf.xml to deploy jms transport web service.  I agreed for this direction.The one problem I can see if we use jbossws-cxf.xml to deploy jms endpoint so far : jbossws-cxf.xml is now used to customize the default generated cxf deployment descriptor by http endpoint , it will be mixed up with jms endpoint when user specifies the jbossws-cxf.xml for http endpoint ,and also want to deploy the jms endpoint with the same jbossws-cxf.xml. Let's take a example :

////////////////<web.xml>//////////////////
  <servlet>
    <servlet-name>HelloService</servlet-name>
    <servlet-class>org.jboss.test.ws.jaxws.samples.HelloImpl</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>HelloService</servlet-name>
    <url-pattern>/*</url-pattern>
  </servlet-mapping>

/////////////////<jbossws-cxf.xml>//////////////////////
    <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>

We name the configuration file to only deploy jms endpoint to something like jbossws-cxf-jms.xml ?  or we do not support deploy the jms endpoint and http endpoin in one deployment archive ?

> 2)  the approach Richard suggested to do jms integration :
>     * extend our UMDM (located in SPI) to provide JMS endpoint abstractions
>     * extend our DA framework to distinguish DA aspects intended to create web based endpoints and jms based endpoints
>     * update our ASIL (concretely WSDeploymentAspectDeployer) to distinguish between Web DAs and JMS DAs
>     * implement CXF DA that will map jboss-cxf.xml MD to our UMDM (ensures CXF -> SPI dependency)
>     * implement ASIL DA that will create JMS MD from our UMDM (ensures ASIL -> SPI dependency)
>     * implement CXF DA that will register plain JMS endpoints with CXF (ensures CXF -> SPI dependency)
> 

If you look at my cxf integration work two weeks ago, you can find what I did except the jbossws-endpoints are mainly follow this suggested approach.  But after I realized the jms endpoints needs the jms queue/topic deployment dependencies, I created the BeanMataData and deliever the KernalDeploymentDeployer to deploy the jms endpoints . At present , we can not resolve the deployment dependency in the DA.

Add also distinguish the http endpoint and jms endpoint in  jbossws-cxf.xml is difficult, for some configuration file (like the example in 1) you need to parse the wsdl , then you can figour out.  

> 3) The Endpoint and ASIL dispatch
>    * Endpoint
>     - ServletEndpoint -> url address
>     - JMSEndpoint -> jms address
>    * DA
>    - ServletDA
>    - JMSDA

  OK. You convinced me to create JMSEndpoint for jms transport endpoint .  It's ideal to use ServletDA to deploy the ServletEndpoint and JMSDA to handle jms endpoint. But again, DA can not handle the dependency deployment which is required by jms transport endpoints deployment in CXF.  Do you have some ideas to change the DA api and eable the dependency in DA ?

> 
> 4) jms endpoint from wsdl (soap over jms support) sample

I've created a test case for this :  https://svn.jboss.org/repos/jbossws/stack/cxf/branches/jms-integration/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/endpointsdd/jmstransport/EndpointsDDFromWsdlJMSTransportTestCase.java https://svn.jboss.org/repos/jbossws/stack/cxf/branches/jms-integration/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/endpointsdd/jmstransport/EndpointsDDFromWsdlJMSTransportTestCase.java

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

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

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]

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20100505/fab2251c/attachment.html 


More information about the jboss-user mailing list