Title: [732] trunk/core/src/main/java/org/servicemix/jbi/nmr/flow/jca/JCAFlow.java: Routing is done by jms
- Revision
- 732
- Author
- gnt
- Date
- 2005-11-03 07:56:25 -0500 (Thu, 03 Nov 2005)
Log Message
Routing is done by jms
Modified Paths
Diff
Modified: trunk/core/src/main/java/org/servicemix/jbi/nmr/flow/jca/JCAFlow.java (731 => 732)
--- trunk/core/src/main/java/org/servicemix/jbi/nmr/flow/jca/JCAFlow.java 2005-11-03 11:58:39 UTC (rev 731)
+++ trunk/core/src/main/java/org/servicemix/jbi/nmr/flow/jca/JCAFlow.java 2005-11-03 12:56:25 UTC (rev 732)
@@ -423,29 +423,22 @@
ComponentNameSpace id = me.getRole() == Role.PROVIDER ? me.getDestinationId() : me.getSourceId();
ComponentConnector cc = broker.getRegistry().getComponentConnector(id);
if (cc != null) {
- if (cc.isLocal() && !isPersistent(me)) {
- super.doRouting(me);
+ 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 {
- 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 {
+ } else {
throw new MessagingException("No component with id (" + id + ") - Couldn't route MessageExchange " + me);
}
}