Title: [743] trunk/core/src/main/java/org/servicemix/jbi/nmr/flow/jca/JCAFlow.java: Revert back change on JCAFlow, because some components tests failed
- Revision
- 743
- Author
- gnt
- Date
- 2005-11-03 19:52:29 -0500 (Thu, 03 Nov 2005)
Log Message
Revert back change on JCAFlow, because some components tests failed
Modified Paths
Diff
Modified: trunk/core/src/main/java/org/servicemix/jbi/nmr/flow/jca/JCAFlow.java (742 => 743)
--- trunk/core/src/main/java/org/servicemix/jbi/nmr/flow/jca/JCAFlow.java 2005-11-03 21:07:48 UTC (rev 742)
+++ trunk/core/src/main/java/org/servicemix/jbi/nmr/flow/jca/JCAFlow.java 2005-11-04 00:52:29 UTC (rev 743)
@@ -423,22 +423,29 @@
ComponentNameSpace id = me.getRole() == Role.PROVIDER ? me.getDestinationId() : me.getSourceId();
ComponentConnector cc = broker.getRegistry().getComponentConnector(id);
if (cc != null) {
- if (me.getMirror().getSyncState() != MessageExchangeImpl.SYNC_STATE_ASYNC) {
- throw new IllegalStateException("sendSync can not be used on jca flow with external components");
- }
- try {
- final String componentName = cc.getComponentNameSpace().getName();
- JmsTemplate jt = isPersistent(me) ? jmsPersistentTemplate : jmsTemplate;
- jt.send(INBOUND_PREFIX + componentName, new MessageCreator() {
- public Message createMessage(Session session) throws JMSException {
- return session.createObjectMessage(me);
- }
- });
- } catch (Exception e) {
- log.error("Failed to send exchange: " + me + " internal JMS Network", e);
- throw new MessagingException(e);
+ if (cc.isLocal() && !isPersistent(me)) {
+ super.doRouting(me);
}
- } else {
+ else {
+ if (me.getMirror().getSyncState() != MessageExchangeImpl.SYNC_STATE_ASYNC) {
+ throw new IllegalStateException("sendSync can not be used on jca flow with external components");
+ }
+ try {
+ final String componentName = cc.getComponentNameSpace().getName();
+ JmsTemplate jt = isPersistent(me) ? jmsPersistentTemplate : jmsTemplate;
+ jt.send(INBOUND_PREFIX + componentName, new MessageCreator() {
+ public Message createMessage(Session session) throws JMSException {
+ return session.createObjectMessage(me);
+ }
+ });
+ }
+ catch (Exception e) {
+ log.error("Failed to send exchange: " + me + " internal JMS Network", e);
+ throw new MessagingException(e);
+ }
+ }
+ }
+ else {
throw new MessagingException("No component with id (" + id + ") - Couldn't route MessageExchange " + me);
}
}
@@ -603,4 +610,4 @@
public void setBootstrapContext(BootstrapContext bootstrapContext) {
this.bootstrapContext = bootstrapContext;
}
-}
\ No newline at end of file
+}