Issue Details (XML | Word | Printable)

Key: ESB-18
Type: New Feature New Feature
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Guillaume Nodet
Reporter: Guillaume Nodet
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
FUSE ESB

Add an AsyncBridge EIP pattern that can be used to bridge an InOut with two InOnlys

Created: 27/Aug/07 02:45 PM   Updated: 06/Sep/07 06:11 PM
Component/s: None
Affects Version/s: None
Fix Version/s: 3.3.0.0-fuse


 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Guillaume Nodet added a comment - 27/Aug/07 02:51 PM
This pattern can be used in the following way:
<eip:async-bridge service="xx:yy" endpoint="zz" timeout="300000">
   <eip:target>
     <eip:exchange-target service="test:target" /
   </eip:target>
<eip:async-bridge>

The default behavior will expects an InOut mep, will use its exchange id as the correlation id, will create an InOnly message by copying the input message and send it to the target (with the correlation id set as a property). It expects an InOnly to come back with the same correlation id property. When this happens, the message is copied to the out message of the original exchange and sent back. If no response is received during the configured amount of time (timeout property in milliseconds), an error will be sent back to the original consumer.


Guillaume Nodet added a comment - 27/Aug/07 02:55 PM
The pattern can also be used standalone on previous versions by copying the following file
https://projects.open.iona.com/projects/svn/iona/servicemix/branches/servicemix-fuse-3.2.0/deployables/serviceengines/servicemix-eip/src/main/java/org/apache/servicemix/eip/patterns/AsyncBridge.java
to a SU targeted at servicemix-eip.
In such a case, the extended xml syntax will not be available and one would write:
<bean class="org.apache.servicemix.eip.patterns.AsyncBridge">
  <property name="service" value="xx:yy" />
  <property name="endpoint" value="zz" />
  <property name="timeout" value="300000" />
  <property name="target">
     <eip:exchange-target service="test:target" /
   </property>
</bean>