Hi,

Yes, currently JMSTansport always explicitly call DMLC.start() message when activate the JMSDestination(means when you start jaxws:endpoint with jms transport), I think it's by design, when you start a jaxws endpoint, it should be ready to consume the message from underlying transport. Would you please elaborate your scenario? How about you control the jaxws:endpoint start timing, that said, only start the jaxws:endpoint when you need it.

Freeman
On 2012-2-23, at 上午6:46, Jared S Warren wrote:

I'd like to be able to prevent a JMS endpoint (<jaxws:endpoint> with
JMSConfigFeature) from auto-starting when the server comes up.



For other users of DefaultMessageListenerContainer (DMLC), I can simply set the autoStart property on DMLC to "false", then have a method later
call start() on the DMLC.



I tried setting the autoStart property on the DMLC that's being provided to the JMSConfigFeature to false, but it appears that CXF is explicitly
calling start() on the DMLC somewhere in the JMSFactory or somesuch.



Here's my jaxws configuration:



     <!-- JMS Endpoint -->

     <jaxws:endpoint id="CustomerServiceJMSPort"


xmlns:s="http://service.jjjj.com/Customer/CustomerService/v1";

           serviceName="s:CustomerServiceSEI"
implementor="#customerServiceImpl"

           address="jms://">

           <jaxws:features>

                 <bean
class="org.apache.cxf.transport.jms.JMSConfigFeature"

                       p:jmsConfig-ref="jmsConfig" />

<bean class="org.apache.cxf.feature.LoggingFeature" />

           </jaxws:features>

           <jaxws:properties>

<entry key="schema-validation-enabled" value="true" />

           </jaxws:properties>

     </jaxws:endpoint>



     <bean id="jmsConfig"
class="org.apache.cxf.transport.jms.JMSConfiguration"

           p:connectionFactory-ref="txnAwareQueueConnectionFactory"

           p:destinationResolver-ref="destinationResolver"

           p:targetDestination="CDIRequestQueue"
p:replyDestination="CDIReplyQueue"

           p:wrapInSingleConnectionFactory="false"

           p:reconnectOnException="true"

           p:transactionManager-ref="transactionManager"

           p:pubSubDomain="false" p:messageType="text"

           p:jmsProviderTibcoEms="true" p:useJms11="true"


p:messageListenerContainer-ref="dpRequestMessageListenerContainer"

           />



     <bean id="dpRequestMessageListenerContainer"


class ="org.springframework.jms.listener.DefaultMessageListenerContainer"

           p:connectionFactory-ref="txnAwareQueueConnectionFactory"

           p:destination-ref="jndi.CDIRequestQueue"

           p:autoStartup="false" />





Any thoughts?



Thanks in advance!



Jared Warren

jcpenney, Enterprise Marketing & Pricing Systems

972.431.3392 | A1-112 | MS 1120

6501 Legacy Dr., Plano, TX 75024



<font face="monospace"size="-3"><br>The information transmitted is intended only for the person or entity to which it is addressed and <br>may contain confidential and/or privileged material. If the reader of this message is not the intended<br>recipient, you are hereby notified that your access is unauthorized, and any review, dissemination,<br>distribution or copying of this message including any attachments is strictly prohibited. If you are not<br>the intended recipient, please contact the sender and delete the material from any computer.<br>

---------------------------------------------
Freeman Fang

FuseSource
Email:[email protected]
Web: fusesource.com
Twitter: freemanfang
Blog: http://freemanfang.blogspot.com









Reply via email to