You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Kristian Koehler (JIRA)" <ji...@apache.org> on 2007/10/19 08:00:24 UTC
[jira] Created: (SM-1111) Endpoint operation information lost when
routing through camel
Endpoint operation information lost when routing through camel
--------------------------------------------------------------
Key: SM-1111
URL: https://issues.apache.org/activemq/browse/SM-1111
Project: ServiceMix
Issue Type: Bug
Components: servicemix-camel
Reporter: Kristian Koehler
Attachments: patches.zip
Hi
I encountered problems regarding message routing to the camel service engine and
back to the jbi NMR again. The information about the ("initial") called
operation on a endpoint is lost while communicating with camel.
see also
http://www.nabble.com/Possible-Solution-to-a-camel-serviceengine-problem-or-only-a-bad-workaround---tf4645158s12049.html
IMHO there are three different strategies to solve this problem:
(thanks Guillaume pointing me to them ;-) )
* (1) DSL - API call within the RouteBuilder
It's currently not possible to do this because the JbiEndpoint doesn't have
methods to set the operation.
Sample:
--- 8< ---
String toUri = "jbi:endpoint:xxx";
Endpoint endpoint = getContext().getEndpoint(toUri);
if (endpoint instanceof JbiEndpoint) {
JbiEndpoint jbiEndpoint = (JbiEndpoint) endpoint;
//not possible
jbiEndpoint.setOperation(operation);
}
from(fromUri).to(toUri);
--- 8< ---
* (2) URI - Setting the operation within the endpoint URI.
This option specifies the operation within the given endpoint URI. It's clear
which operation should be called but you always have to define the operation
for a routing.
--- 8< ---
String toUri = "jbi:endpoint:xxx?operation=process";
from(fromUri).to(toUri);
--- 8< ---
* (3) Copying the information
This option copies the operation information from the "from-"Endpoint to the
"to-"Endpoint. This is a simple solution if you want to call the same
operation on all endpoints involved.
I think option 2 and 3 should be applied. Option 2 overrides option 3. If you
specify a direct operation information within your URI this one is used.
Kristian
ps: option 2 and 3 are available as patches within the attached file
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.