summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-1.x/modules
diff options
context:
space:
mode:
Diffstat (limited to 'branches/sca-java-1.x/modules')
-rw-r--r--branches/sca-java-1.x/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/header/JMSHeaderReferencePolicyInterceptor.java41
-rw-r--r--branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportReferenceInterceptor.java15
-rw-r--r--branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportServiceInterceptor.java6
3 files changed, 21 insertions, 41 deletions
diff --git a/branches/sca-java-1.x/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/header/JMSHeaderReferencePolicyInterceptor.java b/branches/sca-java-1.x/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/header/JMSHeaderReferencePolicyInterceptor.java
index 58100cfb8d..3c7b4467ba 100644
--- a/branches/sca-java-1.x/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/header/JMSHeaderReferencePolicyInterceptor.java
+++ b/branches/sca-java-1.x/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/header/JMSHeaderReferencePolicyInterceptor.java
@@ -81,53 +81,14 @@ public class JMSHeaderReferencePolicyInterceptor implements Interceptor {
}
public Message invoke(Message msg) {
- try {
// get the jms context
JMSBindingContext context = msg.getBindingContext();
javax.jms.Message jmsMsg = msg.getBody();
- String operationName = msg.getOperation().getName();
- if ((jmsHeaderPolicy != null) &&
- (jmsHeaderPolicy.getDeliveryModePersistent() != null)) {
- if (jmsHeaderPolicy.getDeliveryModePersistent()) {
- jmsMsg.setJMSDeliveryMode(DeliveryMode.PERSISTENT);
- } else {
- jmsMsg.setJMSDeliveryMode(DeliveryMode.NON_PERSISTENT);
- }
-
- }
-
- if ((jmsHeaderPolicy != null) &&
- (jmsHeaderPolicy.getJmsCorrelationId() != null)) {
- jmsMsg.setJMSCorrelationID(jmsHeaderPolicy.getJmsCorrelationId());
- }
-
- if ((jmsHeaderPolicy != null) &&
- (jmsHeaderPolicy.getJmsPriority() != null)) {
- jmsMsg.setJMSPriority(jmsHeaderPolicy.getJmsPriority());
- }
-
- if ((jmsHeaderPolicy != null) &&
- (jmsHeaderPolicy.getJmsType() != null)) {
- jmsMsg.setJMSType(jmsHeaderPolicy.getJmsType());
- }
-
- if (jmsHeaderPolicy != null){
- for (String propName : jmsHeaderPolicy.getProperties().keySet()) {
- jmsMsg.setObjectProperty(propName, jmsHeaderPolicy.getProperties().get(propName));
- }
- }
-
- if (jmsHeaderPolicy != null &&
- jmsHeaderPolicy.getTimeToLive() != null) {
- context.setTimeToLive(jmsHeaderPolicy.getTimeToLive());
- }
+ // JMS header attrs set on MessageProducer via interceptors.
return getNext().invoke(msg);
- } catch (JMSException e) {
- throw new JMSBindingException(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/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 20ee4c8942..c3e6031b85 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
@@ -86,10 +86,23 @@ public class TransportReferenceInterceptor implements Interceptor {
MessageProducer producer = session.createProducer(context.getRequestDestination());
+ // Set JMS header attributes in producer, not message.
+ String opName = msg.getOperation().getName();
if (jmsBinding.getOperationJMSTimeToLive(msg.getOperation().getName()) != null) {
producer.setTimeToLive(jmsBinding.getOperationJMSTimeToLive(msg.getOperation().getName()));
}
-
+ Integer priority = jmsBinding.getOperationJMSPriority( opName );
+ if (priority != null) {
+ producer.setPriority(priority.intValue());
+ }
+ Boolean deliveryModePersistent = jmsBinding.getOperationJMSDeliveryMode(opName);
+ if (deliveryModePersistent != null) {
+ if (deliveryModePersistent.booleanValue())
+ producer.setDeliveryMode(javax.jms.DeliveryMode.PERSISTENT);
+ else
+ producer.setDeliveryMode(javax.jms.DeliveryMode.NON_PERSISTENT);
+ }
+
try {
producer.send((javax.jms.Message)msg.getBody());
} finally {
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 7687b368b0..eebac3a8b7 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
@@ -153,6 +153,12 @@ public class TransportServiceInterceptor implements Interceptor {
}
MessageProducer producer = session.createProducer(replyDest);
+
+ // Set jms header attributes in producer, not message.
+ int deliveryMode = requestJMSMsg.getJMSDeliveryMode();
+ producer.setDeliveryMode(deliveryMode);
+ int deliveryPriority = requestJMSMsg.getJMSPriority();
+ producer.setPriority(deliveryPriority);
producer.send((javax.jms.Message)msg.getBody());