You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by ru...@apache.org on 2007/08/21 11:27:20 UTC
svn commit: r568035 - in /webservices/synapse/trunk/java/modules:
core/src/main/java/org/apache/synapse/
core/src/main/java/org/apache/synapse/config/
core/src/main/java/org/apache/synapse/core/axis2/
samples/src/main/java/samples/common/ samples/src/m...
Author: ruwan
Date: Tue Aug 21 02:27:19 2007
New Revision: 568035
URL: http://svn.apache.org/viewvc?rev=568035&view=rev
Log:
Adding a global timer for the Synapse configuraiton so that when ever we need a timer task to be scheduled, we can use the SynapseConfiguraiton.getSynapseTimer() rather than forking a new timer thread.
Added the -Ditr property for the StockQuoteClient to add iterations to the message body element
Modified:
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/Constants.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/AnonymousServiceFactory.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2SynapseEnvironment.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java
webservices/synapse/trunk/java/modules/samples/src/main/java/samples/common/StockQuoteHandler.java
webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/StockQuoteClient.java
webservices/synapse/trunk/java/modules/samples/src/main/scripts/build.xml
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/Constants.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/Constants.java?rev=568035&r1=568034&r2=568035&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/Constants.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/Constants.java Tue Aug 21 02:27:19 2007
@@ -215,4 +215,13 @@
String ANONYMOUS_SEQUENCES = "AnonymousSequences";
/** Anonymous ProxyServices key */
String ANONYMOUS_PROXYSERVICES = "AnonymousProxyServices";
+
+ /** Property key for the aggregation corelation */
+ String AGGREGATE_CORELATION = "aggregateCorelation";
+
+ /** Property key for the message sequence details in an aggregation */
+ String MESSAGE_SEQUENCE = "messageSequence";
+
+ /** String message sequence delemiter */
+ String MESSAGE_SEQUENCE_DELEMITER = "/";
}
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java?rev=568035&r1=568034&r2=568035&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java Tue Aug 21 02:27:19 2007
@@ -70,7 +70,12 @@
*/
private Map localRegistry = new HashMap();
- /** Hold reference to the Axis2 ConfigurationContext */
+ /**
+ * This will provide the timer deamon object for the sheduled tasks.
+ */
+ private Timer synapseTimer = new Timer(true);
+
+ /** Hold reference to the Axis2 ConfigurationContext */
private AxisConfiguration axisConfiguration = null;
/**
@@ -79,7 +84,7 @@
*/
private String pathToConfigFile = null;
- /**
+ /**
* Add a named sequence into the local registry
*
* @param key
@@ -521,6 +526,10 @@
public List getStartup() {
return startup;
}
+
+ public Timer getSynapseTimer() {
+ return synapseTimer;
+ }
public void destroy() {
if (log.isDebugEnabled()) {
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/AnonymousServiceFactory.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/AnonymousServiceFactory.java?rev=568035&r1=568034&r2=568035&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/AnonymousServiceFactory.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/AnonymousServiceFactory.java Tue Aug 21 02:27:19 2007
@@ -29,6 +29,7 @@
import org.apache.commons.logging.LogFactory;
import org.apache.synapse.Constants;
import org.apache.synapse.SynapseException;
+import org.apache.synapse.config.SynapseConfiguration;
import javax.xml.namespace.QName;
@@ -48,7 +49,7 @@
public static final String DYNAMIC_OPERATION = "__DYNAMIC_OPERATION__";
- private static final SynapseCallbackReceiver synapseCallback = new SynapseCallbackReceiver();
+ private static SynapseCallbackReceiver synapseCallbackReceiver = null;
/**
* Creates an AxisService for the requested QoS for sending out messages
@@ -59,8 +60,9 @@
* @param wsSecOn
* @return An Axis service for the requested QoS
*/
- public static AxisService getAnonymousService(AxisConfiguration axisCfg,
- boolean wsAddrOn, boolean wsRMOn, boolean wsSecOn) {
+ public static AxisService getAnonymousService(SynapseConfiguration synCfg,
+ AxisConfiguration axisCfg, boolean wsAddrOn,
+ boolean wsRMOn, boolean wsSecOn) {
String servicekey = null;
if (!wsAddrOn) {
@@ -88,7 +90,7 @@
return service;
}
- service = createAnonymousService(axisCfg, servicekey);
+ service = createAnonymousService(synCfg, axisCfg, servicekey);
if (wsAddrOn) {
service.engageModule(axisCfg.getModule(
@@ -123,13 +125,13 @@
* @param axisCfg the Axis2 configuration
* @return an anonymous service named with the given QoS key
*/
- private static AxisService createAnonymousService(
+ private static AxisService createAnonymousService(SynapseConfiguration synCfg,
AxisConfiguration axisCfg, String serviceKey) {
try {
DynamicAxisOperation dynamicOperation =
new DynamicAxisOperation(new QName(DYNAMIC_OPERATION));
- dynamicOperation.setMessageReceiver(synapseCallback);
+ dynamicOperation.setMessageReceiver(getCallbackReceiver(synCfg));
AxisMessage inMsg = new AxisMessage();
inMsg.setName("in-message");
inMsg.setParent(dynamicOperation);
@@ -150,6 +152,14 @@
serviceKey, e);
}
return null;
+ }
+
+ private static SynapseCallbackReceiver getCallbackReceiver(SynapseConfiguration synCfg) {
+ if (synapseCallbackReceiver == null) {
+ synapseCallbackReceiver = new SynapseCallbackReceiver(synCfg);
+ }
+
+ return synapseCallbackReceiver;
}
}
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java?rev=568035&r1=568034&r2=568035&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java Tue Aug 21 02:27:19 2007
@@ -169,7 +169,7 @@
AxisConfiguration axisCfg = axisCfgCtx.getAxisConfiguration();
AxisService anoymousService =
- AnonymousServiceFactory.getAnonymousService(
+ AnonymousServiceFactory.getAnonymousService(synapseOutMessageContext.getConfiguration(),
axisCfg, wsAddressingEnabled, wsRMEnabled, wsSecurityEnabled);
ServiceGroupContext sgc = new ServiceGroupContext(
axisCfgCtx, (AxisServiceGroup) anoymousService.getParent());
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2SynapseEnvironment.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2SynapseEnvironment.java?rev=568035&r1=568034&r2=568035&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2SynapseEnvironment.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2SynapseEnvironment.java Tue Aug 21 02:27:19 2007
@@ -31,6 +31,7 @@
import org.apache.synapse.Mediator;
import org.apache.synapse.MessageContext;
import org.apache.synapse.SynapseException;
+import org.apache.synapse.util.UUIDGenerator;
import org.apache.synapse.config.SynapseConfiguration;
import org.apache.synapse.endpoints.utils.EndpointDefinition;
import org.apache.synapse.core.SynapseEnvironment;
@@ -145,7 +146,8 @@
axis2MC.setServiceContext(new ServiceContext());
axis2MC.setOperationContext(new OperationContext());
MessageContext mc = new Axis2MessageContext(axis2MC, synapseConfig, this);
- try {
+ mc.setMessageID(UUIDGenerator.getUUID());
+ try {
mc.setEnvelope(OMAbstractFactory.getSOAP12Factory().createSOAPEnvelope());
mc.getEnvelope().addChild(OMAbstractFactory.getSOAP12Factory().createSOAPBody());
} catch (Exception e) {
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java?rev=568035&r1=568034&r2=568035&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java Tue Aug 21 02:27:19 2007
@@ -37,6 +37,7 @@
import org.apache.synapse.Constants;
import org.apache.synapse.FaultHandler;
import org.apache.synapse.SynapseException;
+import org.apache.synapse.config.SynapseConfiguration;
import org.apache.synapse.endpoints.Endpoint;
import java.util.*;
@@ -47,17 +48,13 @@
private Map callbackStore; // this will be made thread safe within the constructor
- /**
- * Timer to schedule the timeout task.
- */
- private Timer timeOutTimer = null;
-
- public SynapseCallbackReceiver() {
+ public SynapseCallbackReceiver(SynapseConfiguration synCfg) {
callbackStore = Collections.synchronizedMap(new HashMap());
// create the Timer object and a TimeoutHandler task. Schedule it to run every 10 seconds from here
TimeoutHandler timeoutHandler = new TimeoutHandler(callbackStore);
- timeOutTimer = new Timer(true);
+
+ Timer timeOutTimer = synCfg.getSynapseTimer();
timeOutTimer.schedule(timeoutHandler, 0, Constants.TIMEOUT_HANDLER_INTERVAL);
}
Modified: webservices/synapse/trunk/java/modules/samples/src/main/java/samples/common/StockQuoteHandler.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/samples/src/main/java/samples/common/StockQuoteHandler.java?rev=568035&r1=568034&r2=568035&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/samples/src/main/java/samples/common/StockQuoteHandler.java (original)
+++ webservices/synapse/trunk/java/modules/samples/src/main/java/samples/common/StockQuoteHandler.java Tue Aug 21 02:27:19 2007
@@ -66,15 +66,17 @@
* @param symbol the stock symbol
* @return OMElement for SOAP body
*/
- public static OMElement createStandardQuoteRequest(String symbol) {
+ public static OMElement createStandardQuoteRequest(String symbol, int itrCount) {
OMFactory factory = OMAbstractFactory.getOMFactory();
OMNamespace ns = factory.createOMNamespace("http://services.samples/xsd", "m0");
OMElement getQuote = factory.createOMElement("getQuote", ns);
- OMElement request = factory.createOMElement("request", ns);
- OMElement symb = factory.createOMElement("symbol", ns);
- request.addChild(symb);
- getQuote.addChild(request);
- symb.setText(symbol);
+ for (int i =0; i<itrCount; i++) {
+ OMElement request = factory.createOMElement("request", ns);
+ OMElement symb = factory.createOMElement("symbol", ns);
+ request.addChild(symb);
+ getQuote.addChild(request);
+ symb.setText(symbol);
+ }
return getQuote;
}
Modified: webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/StockQuoteClient.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/StockQuoteClient.java?rev=568035&r1=568034&r2=568035&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/StockQuoteClient.java (original)
+++ webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/StockQuoteClient.java Tue Aug 21 02:27:19 2007
@@ -64,6 +64,7 @@
String svcPolicy = getProperty("policy", null);
String rest = getProperty("rest", null);
String wsrm = getProperty("wsrm", null);
+ String itr = getProperty("itr", "1");
double price = 0; int quantity = 0;
ConfigurationContext configContext = null;
@@ -98,7 +99,8 @@
payload = StockQuoteHandler.createMarketActivityRequest();
options.setAction("urn:getMarketActivity");
} else if ("quote".equals(mode)) {
- payload = StockQuoteHandler.createStandardQuoteRequest(symbol);
+ payload = StockQuoteHandler.createStandardQuoteRequest(
+ symbol, Integer.parseInt(itr));
options.setAction("urn:getQuote");
}
Modified: webservices/synapse/trunk/java/modules/samples/src/main/scripts/build.xml
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/samples/src/main/scripts/build.xml?rev=568035&r1=568034&r2=568035&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/samples/src/main/scripts/build.xml (original)
+++ webservices/synapse/trunk/java/modules/samples/src/main/scripts/build.xml Tue Aug 21 02:27:19 2007
@@ -75,6 +75,7 @@
<property name="policy" value=""/>
<property name="rest" value=""/>
<property name="wsrm" value=""/>
+ <property name="itr" value=""/>
<property name="jms_dest" value=""/>
<property name="jms_type" value=""/>
<property name="jms_payload" value=""/>
@@ -100,6 +101,7 @@
<sysproperty key="policy" value="${policy}"/>
<sysproperty key="rest" value="${rest}"/>
<sysproperty key="wsrm" value="${wsrm}"/>
+ <sysproperty key="itr" value="${itr}"/>
<sysproperty key="javax.net.ssl.trustStore" value="./../../lib/trust.jks"/>
<sysproperty key="javax.net.ssl.trustStorePassword" value="password"/>
<!--
---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-dev-help@ws.apache.org