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