If I set the JBI container's flowName=jms, then I connect a external
webservice  using HttpEndpoint in XBean, role="provider", after I debug into
the source code, I found that servicemix is using the class
"ProviderProcessor.java (line 168)" to invoke external service , as below:

"int response = getClient().executeMethod(getHostConfiguration(locationURI),
method);"

If the external service is down, there will be errors return, but I'm
expecting the request message should be stored in the queue of this
endpoint, because I'm using JMS flow, when I start up external service
again, I want it can receive the request again and process.

 

I found that org.apache.servicemix.http.processors.ProviderProcessor is
different from "HttpInvoker", which implemented MessageExchangeListener. As
my test, when I use HttpInvoker as BC to connect external service,
flowName=jms, the request will be stored in queue until send it out
successfully to the external service.

 

Do I make any mistake? Does HttpEndpoint support reliable message routing
and persistence in JMS flow?

 

Thanks for any comment.

 

Chris. 

Reply via email to