<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">
<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>
                                <td>
                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">Community</a></h1>
                                                                </td>
                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px; -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
CXF jms integration
</h3>
<span style="margin-bottom: 10px;">
reply from <a href="http://community.jboss.org/people/jim.ma">Jim Ma</a> in <i>JBoss Web Services Development</i> - <a href="http://community.jboss.org/message/536798#536798">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">
<div class="jive-rendered-content"><blockquote class="jive-quote"><p>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  ?).</p><p>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.</p><p>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.</p></blockquote><p>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. </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><blockquote class="jive-quote">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.</blockquote><p>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.</p><p>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 .</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><blockquote class="jive-quote">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)</blockquote><p>Will do.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>Thanks.</p></div>
<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
<p style="margin: 0;">Reply to this message by <a href="http://community.jboss.org/message/536798#536798">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss Web Services Development at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2047">Community</a></p>
</div></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>