diff options
Diffstat (limited to 'branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/headers/HeaderReferenceInterceptor.java')
-rw-r--r-- | branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/headers/HeaderReferenceInterceptor.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/headers/HeaderReferenceInterceptor.java b/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/headers/HeaderReferenceInterceptor.java index 8a73627ba3..a361d8159b 100644 --- a/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/headers/HeaderReferenceInterceptor.java +++ b/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/headers/HeaderReferenceInterceptor.java @@ -83,8 +83,8 @@ public class HeaderReferenceInterceptor implements Interceptor { public Message invokeRequest(Message tuscanyMsg) { try { // get the jms context - JMSBindingContext context = (JMSBindingContext)tuscanyMsg.getHeaders().get(JMSBindingConstants.MSG_CTXT_POSITION); - javax.jms.Message jmsMsg = (javax.jms.Message)tuscanyMsg.getBody(); + JMSBindingContext context = tuscanyMsg.getBindingContext(); + javax.jms.Message jmsMsg = tuscanyMsg.getBody(); Operation operation = tuscanyMsg.getOperation(); String operationName = operation.getName(); @@ -144,6 +144,12 @@ public class HeaderReferenceInterceptor implements Interceptor { } } + if (jmsBinding.getOperationJMSTimeToLive(operationName) != null) { + context.setTimeToLive(jmsBinding.getOperationJMSTimeToLive(operationName) * 2); + } else { + context.setTimeToLive(JMSBindingConstants.DEFAULT_TIME_TO_LIVE); + } + return tuscanyMsg; } catch (JMSException e) { throw new JMSBindingException(e); |