Hello,
I have a jms consumer
<jms:endpoint service="km:jms-status-service-out"
endpoint="jms-status"
role="consumer"
connectionFactory="#connectionFactory"
destinationStyle="queue"
jmsProviderDestinationName="queueForKmStatus"
defaultMep="http://www.w3.org/2004/08/wsdl/in-only"
targetService="km:status-httpProvider-serviceActual"
targetEndpoint="status-httpProvider-endpointActual"
/>
the target is a http provider
<http:endpoint service="km:status-httpProvider-serviceActual"
endpoint="status-httpProvider-endpointActual" role="provider"
locationURI="${HostUrl}" />
The system is currently using a SEDA flow. I've tried both in-only and
robust-in-only mep's
How do I configure servicemix to not dequeue the item if the connection to
the http host is not available? I would assume it is some sort of
transaction configuration, but I am not sure where/how I should configure
this.
Service-mix is running in 'stand-alone' mode with the above binding
components within a service assembly.
Here is the current log that I'm getting.
=========================================
ERROR - HttpComponent - Error processing exchange
RobustInOnly[
id: ID:LT478-4193-1181936893430-9:0
status: Active
role: provider
service: {urn:ic:km}status-httpProvider-serviceActual
endpoint: status-httpProvider-endpointActual
in: <?xml version="1.0" encoding="UTF-8"?><Envelope
xmlns="http://schemas.xmlsoap.org/soap/envelope/"><Body><msgResults><com.st.ic.km.mgmt.transfer.MsgResult>
<msgId>1</msgId>
<operatingData>1</operatingData>
<event>UpdateCodes</event>
<success>true</success>
<resultMessage>updated code</resultMessage>
</com.st.ic.km.mgmt.transfer.MsgResult></msgResults></Body></Envelope>
]
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at
java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:519)
at java.net.Socket.connect(Socket.java:469)
at java.net.Socket.<init>(Socket.java:366)
at java.net.Socket.<init>(Socket.java:239)
at
org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:79)
at
org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:121)
at
org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:706)
at
org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1321)
at
org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:386)
at
org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:170)
at
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396)
at
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)
at
org.apache.servicemix.http.processors.ProviderProcessor.process(ProviderProcessor.java:168)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:489)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:441)
at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:593)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Thread.java:595)
DEBUG - DeliveryChannelImpl - Send
ID:LT478-4193-1181936893430-9:0 in DeliveryChannel{servicemix-http}
DEBUG - SedaFlow - Called Flow send
DEBUG - SedaQueue -
[EMAIL PROTECTED] dequeued exchange:
RobustInOnly[
id: ID:LT478-4193-1181936893430-9:0
status: Error
role: consumer
service: {urn:ic:km}status-httpProvider-serviceActual
endpoint: status-httpProvider-endpointActual
in: <?xml version="1.0" encoding="UTF-8"?><Envelope
xmlns="http://schemas.xmlsoap.org/soap/envelope/"><Body><msgResults><com.st.ic.km.mgmt.transfer.MsgResult>
<msgId>1</msgId>
<operatingData>1</operatingData>
<event>UpdateCodes</event>
<success>true</success>
<resultMessage>updated code</resultMessage>
</com.st.ic.km.mgmt.transfer.MsgResult></msgResults></Body></Envelope>
error: java.net.ConnectException: Connection refused: connect
]
DEBUG - JmsComponent - Received exchange: status: Error,
role: consumer
DEBUG - JmsComponent - Retrieved correlation id:
ID:LT478-4193-1181936893430-9:0
ERROR - JmsComponent - Error processing exchange
RobustInOnly[
id: ID:LT478-4193-1181936893430-9:0
status: Error
role: consumer
service: {urn:ic:km}status-httpProvider-serviceActual
endpoint: status-httpProvider-endpointActual
in: <?xml version="1.0" encoding="UTF-8"?><Envelope
xmlns="http://schemas.xmlsoap.org/soap/envelope/"><Body><msgResults><com.st.ic.km.mgmt.transfer.MsgResult>
<msgId>1</msgId>
<operatingData>1</operatingData>
<event>UpdateCodes</event>
<success>true</success>
<resultMessage>updated code</resultMessage>
</com.st.ic.km.mgmt.transfer.MsgResult></msgResults></Body></Envelope>
error: java.net.ConnectException: Connection refused: connect
]
java.lang.UnsupportedOperationException: A destination must be specified.
at
org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:448)
at
org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:356)
at
org.apache.servicemix.jms.multiplexing.MultiplexingConsumerProcessor.process(MultiplexingConsumerProcessor.java:125)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:489)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:463)
at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:593)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Thread.java:595)
DEBUG - DeliveryChannelImpl - Send
ID:LT478-4193-1181936893430-9:0 in DeliveryChannel{servicemix-jms}
DEBUG - DeliveryChannelImpl - Exception processing:
ID:LT478-4193-1181936893430-9:0 in DeliveryChannel{servicemix-jms}
ERROR - JmsComponent - Error setting exchange status to
ERROR
javax.jbi.messaging.MessagingException: illegal call to send / sendSync
at
org.apache.servicemix.jbi.messaging.MessageExchangeImpl.handleSend(MessageExchangeImpl.java:571)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(DeliveryChannelImpl.java:370)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send(DeliveryChannelImpl.java:417)
at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:58)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:593)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Thread.java:595)
=========================================
Thanks,
James
--
View this message in context:
http://www.nabble.com/jms-consumer-to-http-provider-tf3930222s12049.html#a11146937
Sent from the ServiceMix - User mailing list archive at Nabble.com.