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/536798#536798
--------------------------------------------------------------
Right, we need proper integration through SPI here. The point is
that we need to trigger destination (queue) creation during deployment. That is done
using the API a given AS container provides; for instance on AS trunk, right now we'd
probably end up creating a configuration for HornetQ to be used by HornetQ deployers
(HornetQCoreConfigRealDeployer ?).
As Richard's correctly saying, we should not use those AS API directly in JBWS CXF
in order to maintain proper abstraction, so we need to enrich the JBossWS SPI (few
additions in org.jboss.wsf.spi.deployment might be enough) for having those info
(it's probably just the name of the destinations) available in a container
independent way. That part of the SPI could be populated by CXF specific deployment
aspect that parses the provided or generated jboss-cxf.xml.
Later in the chain, we'd have another deployment aspect (coming from the container
integration) that uses the new SPI info to create the JMS medatadata (HornetQ conf, for
isntance) and provides the requirements for the JMS deployers to run.
IMHO, we do
not need to provide the function to trigger the desination creation. We always assume that
user already have this Queue/Topic deployed before webservice jms endpoint deployment or
the jms deployment is deployed with jms endpoint, like how the MDB is deployed.
All this assumes we review the current WSDeploymentAspectDeployer
that forces every deployment aspect to be bound to the web deployers, given the
JBossWebMetaData input/ouput. I imagine some minor changes might also be required a bit
earlier in the deployer chain.
Agreed. The WSDeploymentAspectDeployer is one of the
key class we need to think about how to change its behavior and handle other deployment
without JBossWebMetaData input/output.
At the moment , I think parsing the jms endpoint deployment descirptor (like
jbossws-endpoint.xml) and creating the service and endpoint work should be put in front
of WSDeploymentAspectDeployer chain. I am analysing it more to see what else we need to
change .
Jim, I'd encourage you to create branches like a did when working
on cxf/jaxrpc issue and start doing changes there. Either Richard or me can help you
step by step there, till we have something working that can be merged to trunk. This way
you can also start now that 3.3.0 is not released yet (this work is targeted for 4.x)
Will do.
Thanks.
--------------------------------------------------------------
Reply to this message by going to Community
[
http://community.jboss.org/message/536798#536798]
Start a new discussion in JBoss Web Services Development at Community
[
http://community.jboss.org/choose-container!input.jspa?contentType=1&...]