You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by an...@apache.org on 2002/11/04 17:52:11 UTC
cvs commit: xml-axis-wsif/java/src/org/apache/wsif/providers/jms WSIFOperation_Jms.java WSIFPort_Jms.java
antelder 2002/11/04 08:52:11
Modified: java/src/org/apache/wsif/providers/jms Tag: pre1_2_0-patches
WSIFOperation_Jms.java WSIFPort_Jms.java
Log:
- Correct the order the jms properties are set by properties defined in the wsif context message
- Lazy initialization of the WSIFJMSDestination
Revision Changes Path
No revision
No revision
1.34.2.1 +18 -14 xml-axis-wsif/java/src/org/apache/wsif/providers/jms/WSIFOperation_Jms.java
Index: WSIFOperation_Jms.java
===================================================================
RCS file: /home/cvs/xml-axis-wsif/java/src/org/apache/wsif/providers/jms/WSIFOperation_Jms.java,v
retrieving revision 1.34
retrieving revision 1.34.2.1
diff -u -r1.34 -r1.34.2.1
--- WSIFOperation_Jms.java 24 Oct 2002 16:09:07 -0000 1.34
+++ WSIFOperation_Jms.java 4 Nov 2002 16:52:11 -0000 1.34.2.1
@@ -142,7 +142,6 @@
private long syncTimeout;
private long asyncTimeout;
- transient private WSIFJMSDestination jmsDest;
/**
* ctor
@@ -150,8 +149,7 @@
public WSIFOperation_Jms(
Port basePort,
BindingOperation bindingOperation,
- WSIFPort_Jms jmsPort,
- WSIFJMSDestination jmsDest)
+ WSIFPort_Jms jmsPort)
throws WSIFException {
Trc.entry(this, basePort, bindingOperation, jmsPort);
@@ -159,7 +157,6 @@
fieldBasePort = basePort;
fieldBindingOperation = bindingOperation;
fieldJmsPort = jmsPort;
- this.jmsDest = jmsDest;
syncTimeout = WSIFProperties.getSyncTimeout();
asyncTimeout = WSIFProperties.getAsyncTimeout();
@@ -178,8 +175,7 @@
new WSIFOperation_Jms(
fieldBasePort,
fieldBindingOperation,
- fieldJmsPort,
- jmsDest);
+ fieldJmsPort);
if (Trc.ON)
Trc.exit(woj.deep());
return woj;
@@ -212,6 +208,7 @@
// send the jms message
String correlId = sendJmsMessage(input);
+ WSIFJMSDestination jmsDest = fieldJmsPort.getJmsDestination();
javax.jms.Message response = jmsDest.receive(correlId, syncTimeout);
operationSucceeded = receiveJmsMessage(response, output, fault);
@@ -407,6 +404,7 @@
private String sendJmsMessage(WSIFMessage input) throws WSIFException {
String correlId = null;
+ WSIFJMSDestination jmsDest = fieldJmsPort.getJmsDestination();
setPropertyValues();
@@ -450,6 +448,9 @@
message.setObjectPart((String) i.next(), null);
}
+ // properties from the context
+ setDestinationContext();
+
Service serviceModel = null;
Definition def = fieldJmsPort.getDefinition();
Map services = WSIFUtils.getAllItems(def, "Service");
@@ -560,8 +561,9 @@
return propertyParts;
}
- private void setPropertyValues() {
+ private void setPropertyValues() throws WSIFException {
String value;
+ WSIFJMSDestination jmsDest = fieldJmsPort.getJmsDestination();
// First set the default properties identifying the JMS message
try {
value = fieldOperation.getName();
@@ -604,9 +606,6 @@
Trc.ignoredException(ex);
}
- // properties from the context
- setDestinationContext();
-
// propertyValues from the input message
if (fieldInputJmsPropertyValues != null) {
try {
@@ -620,9 +619,10 @@
/**
* sets the output message properties from the received JMS message.
*/
- private void setOutProperties(WSIFMessage output) {
+ private void setOutProperties(WSIFMessage output) throws WSIFException {
if (output != null && fieldOutputProperties != null) {
+ WSIFJMSDestination jmsDest = fieldJmsPort.getJmsDestination();
for (Iterator i = fieldOutputProperties.keySet().iterator();
i.hasNext();
) {
@@ -641,10 +641,11 @@
private void setFaultProperties(
WSIFMessage fault,
- BindingFault bindingFault) {
+ BindingFault bindingFault) throws WSIFException{
Trc.entry(this, fault, bindingFault);
+ WSIFJMSDestination jmsDest = fieldJmsPort.getJmsDestination();
Iterator it = bindingFault.getExtensibilityElements().iterator();
while (it.hasNext()) {
Object ele = it.next();
@@ -692,6 +693,7 @@
private void setJMSPropertyValues(List propertyValues)
throws WSIFException {
if (propertyValues != null) {
+ WSIFJMSDestination jmsDest = fieldJmsPort.getJmsDestination();
for (Iterator i = propertyValues.iterator(); i.hasNext();) {
JMSPropertyValue pv = (JMSPropertyValue) i.next();
if (pv != null) {
@@ -719,6 +721,7 @@
if (value != null) {
Object o = getObjectValue(value.getType(), value.getValue());
if (!timeoutProperty(attName, o)) {
+ WSIFJMSDestination jmsDest = fieldJmsPort.getJmsDestination();
jmsDest.setProperty(attName, o);
}
}
@@ -937,8 +940,8 @@
/**
* This sets up any context JMS property values in the Destination
*/
- private void setDestinationContext() {
- if (context == null || jmsDest == null) {
+ private void setDestinationContext() throws WSIFException{
+ if (context == null) {
return;
}
HashMap jmsProps = new HashMap();
@@ -960,6 +963,7 @@
}
}
if (jmsProps.size() > 0) {
+ WSIFJMSDestination jmsDest = fieldJmsPort.getJmsDestination();
jmsDest.setProperties(jmsProps);
}
}
1.12.2.1 +18 -10 xml-axis-wsif/java/src/org/apache/wsif/providers/jms/WSIFPort_Jms.java
Index: WSIFPort_Jms.java
===================================================================
RCS file: /home/cvs/xml-axis-wsif/java/src/org/apache/wsif/providers/jms/WSIFPort_Jms.java,v
retrieving revision 1.12
retrieving revision 1.12.2.1
diff -u -r1.12 -r1.12.2.1
--- WSIFPort_Jms.java 24 Oct 2002 16:09:07 -0000 1.12
+++ WSIFPort_Jms.java 4 Nov 2002 16:52:11 -0000 1.12.2.1
@@ -109,14 +109,6 @@
fieldDefinition = def;
fieldPortModel = port;
- jmsDest =
- new WSIFJMSDestination(
- WSIFJMSFinder.newFinder(
- getObjectReference(),
- fieldPortModel.getName()),
- getObjectReference().getJmsProvDestName(),
- WSIFProperties.getSyncTimeout());
-
if (Trc.ON)
Trc.exit(deep());
}
@@ -186,8 +178,7 @@
new WSIFOperation_Jms(
fieldPortModel,
bindingOperationModel,
- this,
- jmsDest);
+ this);
setDynamicWSIFOperation(name, inputName, outputName, operation);
}
}
@@ -289,6 +280,23 @@
Trc.exit(wf);
return wf;
}
+
+ /**
+ * Returns the jmsDestination for this WSIFPort.
+ * @return WSIFJMSDestination
+ */
+ public WSIFJMSDestination getJmsDestination() throws WSIFException {
+ if (jmsDest==null) {
+ jmsDest =
+ new WSIFJMSDestination(
+ WSIFJMSFinder.newFinder(
+ getObjectReference(),
+ fieldPortModel.getName()),
+ getObjectReference().getJmsProvDestName(),
+ WSIFProperties.getSyncTimeout());
+ }
+ return jmsDest;
+ }
/**
* helper