L.S.,
I know the new JMS consumer endpoint [1] automatically reconnects after
a broker has been restarted (I use it for receiving messages from
WebSphere MQ and it is restarted every day), so I guess the
<jms:producer/> should be able to do the same thing. Could you give
that a try?
Regards,
Gert
[1] http://servicemix.apache.org/servicemix-jms-new-endpoints.html
aigor wrote:
Hello.
I have ServiceMix 3.2.2;
It has binding component that sends messages to the queue of ActiveMQ
5.1.0.
While testing I've restarted AMQ.
After this SM can not send messages to the amq with out restarting.
Logger gives such Errors:
[code]
ERROR - JmsComponent - Error processing exchange
InOnly[
id: ID:127.0.1.1-11cb8719519-19:2135
status: Active
role: provider
endpoint: provider
in: Unable to display: org.xml.sax.SAXParseException: Premature end
of file.
]
javax.jms.IllegalStateException: The Session is closed
at
org.apache.activemq.ActiveMQSession.checkClosed(ActiveMQSession.java:581)
at
org.apache.activemq.ActiveMQSession.createTextMessage(ActiveMQSession.java:393)
at
org.apache.servicemix.jms.DefaultJmsMarshaler.toJMS(DefaultJmsMarshaler.java:82)
at
org.apache.servicemix.jms.DefaultJmsMarshaler.toJMS(DefaultJmsMarshaler.java:106)
at
org.apache.servicemix.jms.AbstractJmsProcessor.fromNMS(AbstractJmsProcessor.java:164)
at
org.apache.servicemix.jms.multiplexing.MultiplexingProviderProcessor.process(MultiplexingProviderProcessor.java:136)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
ERROR - DeadLetterChannel - Failed delivery for
exchangeId: ID-traktor/56966-1222865152843/0-21. On delivery attempt:
1 caught: javax.jms.IllegalStateException: The Session is closed
javax.jms.IllegalStateException: The Session is closed
at
org.apache.activemq.ActiveMQSession.checkClosed(ActiveMQSession.java:581)
at
org.apache.activemq.ActiveMQSession.createTextMessage(ActiveMQSession.java:393)
at
org.apache.servicemix.jms.DefaultJmsMarshaler.toJMS(DefaultJmsMarshaler.java:82)
at
org.apache.servicemix.jms.DefaultJmsMarshaler.toJMS(DefaultJmsMarshaler.java:106)
at
org.apache.servicemix.jms.AbstractJmsProcessor.fromNMS(AbstractJmsProcessor.java:164)
at
org.apache.servicemix.jms.multiplexing.MultiplexingProviderProcessor.process(MultiplexingProviderProcessor.java:136)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
[Fatal Error] :-1:-1: Premature end of file.
[/code]
I am interested if it is possibly to continue work without SM
restarting or restarting of some SM componets.
Thanks for any suggestion!
Ihor, [EMAIL PROTECTED] /EWU/