diff options
author | ramkumar <ramkumar@13f79535-47bb-0310-9956-ffa450edef68> | 2009-03-19 12:22:02 +0000 |
---|---|---|
committer | ramkumar <ramkumar@13f79535-47bb-0310-9956-ffa450edef68> | 2009-03-19 12:22:02 +0000 |
commit | 337ea5d575a83b860185f38542ca891d256366c8 (patch) | |
tree | 8bd97c101bbb8fb64ae404e8831b67cb56fba6e8 /branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport | |
parent | c17816208db6a9198f5497821501b5003b063492 (diff) |
Fixes for TUSCANY-2922
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@755969 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport')
2 files changed, 18 insertions, 5 deletions
diff --git a/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportReferenceInterceptor.java b/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportReferenceInterceptor.java index c3e6031b85..8382e3874f 100644 --- a/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportReferenceInterceptor.java +++ b/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportReferenceInterceptor.java @@ -115,9 +115,8 @@ public class TransportReferenceInterceptor implements Interceptor { } public Message invokeResponse(Message msg) { + JMSBindingContext context = msg.getBindingContext(); try { - // get the jms context - JMSBindingContext context = msg.getBindingContext(); Session session = context.getJmsResponseSession(); javax.jms.Message requestMessage = (javax.jms.Message)msg.getBody(); @@ -148,7 +147,14 @@ public class TransportReferenceInterceptor implements Interceptor { throw new JMSBindingException(e); } catch (NamingException e) { throw new JMSBindingException(e); - } + } finally { + try { + context.closeJmsResponseSession(); + if (jmsResourceFactory.isConnectionClosedAfterUse()) + jmsResourceFactory.closeResponseConnection(); + } catch (JMSException e) { + } + } } public Invoker getNext() { diff --git a/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportServiceInterceptor.java b/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportServiceInterceptor.java index eebac3a8b7..6cc7fff593 100644 --- a/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportServiceInterceptor.java +++ b/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportServiceInterceptor.java @@ -85,6 +85,13 @@ public class TransportServiceInterceptor implements Interceptor { msg.setBody(replyJMSMsg); invokeResponse(msg); return msg; + } finally { + try { + ((JMSBindingContext)msg.getBindingContext()).closeJmsResponseSession(); + if (jmsResourceFactory.isConnectionClosedAfterUse()) + jmsResourceFactory.closeResponseConnection(); + } catch (JMSException e) { + } } } @@ -163,13 +170,13 @@ public class TransportServiceInterceptor implements Interceptor { producer.send((javax.jms.Message)msg.getBody()); producer.close(); - session.close(); + context.closeJmsResponseSession(); return msg; } catch (JMSException e) { throw new JMSBindingException(e); - } + } } public Invoker getNext() { |