You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commons-dev@ws.apache.org by as...@apache.org on 2008/11/15 17:11:12 UTC
svn commit: r717873 [4/4] - in
/webservices/commons/trunk/scratch/asankha/transport/modules:
base/src/main/java/org/apache/axis2/transport/base/ jms/
jms/src/main/java/org/apache/axis2/transport/jms/ tests/
tests/src/test/java/org/apache/axis2/transpor...
Added: webservices/commons/trunk/scratch/asankha/transport/modules/jms/src/main/java/org/apache/axis2/transport/jms/package.html
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/scratch/asankha/transport/modules/jms/src/main/java/org/apache/axis2/transport/jms/package.html?rev=717873&view=auto
==============================================================================
--- webservices/commons/trunk/scratch/asankha/transport/modules/jms/src/main/java/org/apache/axis2/transport/jms/package.html (added)
+++ webservices/commons/trunk/scratch/asankha/transport/modules/jms/src/main/java/org/apache/axis2/transport/jms/package.html Sat Nov 15 08:11:11 2008
@@ -0,0 +1,111 @@
+<html>
+<title>JMS Transport Documentation</title>
+<body>
+
+<h2>JMS Listener Configuration (axis2.xml)</h2>
+
+e.g:
+ <transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener">
+ <parameter name="myTopicConnectionFactory">
+ <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
+ <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
+ <parameter name="transport.jms.ConnectionFactoryJNDIName">TopicConnectionFactory</parameter>
+ <parameter name="transport.jms.ConnectionFactoryType">topic</parameter>
+ <parameter name="transport.jms.JMSSpecVersion">1.0.2b</parameter>
+ </parameter>
+
+ <parameter name="myQueueConnectionFactory">
+ <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
+ <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
+ <parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
+ <parameter name="transport.jms.ConnectionFactoryType">queue</parameter>
+ <parameter name="transport.jms.JMSSpecVersion">1.1</parameter>
+ </parameter>
+
+ <parameter name="default">
+ <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
+ <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
+ <parameter name="transport.jms.ConnectionFactoryJNDIName">ConnectionFactory</parameter>
+ </parameter>
+ </transportReceiver>
+
+ <transportSender name="jms" class="org.apache.axis2.transport.jms.JMSSender">
+
+ <parameter name="myTopicConnectionFactory">
+ <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
+ <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
+ <parameter name="transport.jms.ConnectionFactoryJNDIName">TopicConnectionFactory</parameter>
+ <parameter name="transport.jms.JMSSpecVersion">1.0.2b</parameter>
+ </parameter>
+
+ <parameter name="myQueueConnectionFactory">
+ <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
+ <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
+ <parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
+ <parameter name="transport.jms.JMSSpecVersion">1.0.2b</parameter>
+ </parameter>
+
+ <parameter name="default">
+ <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
+ <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
+ <parameter name="transport.jms.ConnectionFactoryJNDIName">ConnectionFactory</parameter>
+ </parameter>
+ </transportSender>
+
+<p>
+ The Transport Listener and Sender both allows the user to configure one or more JMS Connection
+ Factories, which are named definitions
+</p>
+transport.jms.ConnectionFactoryType - queue | topc
+transport.jms.ConnectionFactoryJNDIName
+
+services.xml / Proxy service parameters for Synapse
+
+Operation - operation name - default urn:mediate
+Wrapper - binary and text wrapper element
+
+transport.jms.ConnectionFactory
+transport.jms.Destination
+transport.jms.DestinationType - queue | topic
+transport.jms.DefaultReplyDestination
+transport.jms.DefaultReplyDestinationType - queue| topic
+
+transport.jms.ReconnectTimeoutInitial
+transport.jms.ReconnectTimeoutFactor
+transport.jms.ReconnectTimeoutMaximum
+transport.jms.JMSSpecVersion - 1.0.2b| 1.1
+
+transport.jms.SessionTransacted - true | false
+transport.jms.SessionAcknowledgement - AUTO_ACKNOWLEDGE* | CLIENT_ACKNOWLEDGE | DUPS_OK_ACKNOWLEDGE | SESSION_TRANSACTED
+
+transport.jms.MessageSelector
+transport.jms.SubscriptionDurable - true | false
+transport.jms.DurableSubscriberName
+transport.jms.CacheLevel - none | connection | session | consumer | producer | auto*
+transport.jms.PubSubNoLocal - true* | false
+transport.jms.ReceiveTimeout - negative means wait forever
+transport.jms.ConcurrentConsumers - should be 1 for topics
+transport.jms.MaxConcurrentConsumers - should be 1 for topics
+transport.jms.IdleTaskLimit
+transport.jms.MaxMessagesPerTask
+
+transport.jms.InitialReconnectDuration
+transport.jms.ReconnectProgressFactor
+transport.jms.MaxReconnectDuration
+
+transport.Transactionality - none | local | jta
+transport.UserTxnJNDIName
+transport.CacheUserTxn - true | false
+
+
+
+transport.jms.PublishEPR - one or more EPR's could be specified. If none specified, defaults to
+the legacy EPR. If legacy URL is included as an option with other URLs, specify as "LEGACY" and
+specify the other URLs
+
+axis2 message context properties set by listener
+JMSConstants.JMS_COORELATION_ID
+
+
+</body>
+</html>
\ No newline at end of file
Modified: webservices/commons/trunk/scratch/asankha/transport/modules/tests/log4j.properties
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/scratch/asankha/transport/modules/tests/log4j.properties?rev=717873&r1=717872&r2=717873&view=diff
==============================================================================
--- webservices/commons/trunk/scratch/asankha/transport/modules/tests/log4j.properties (original)
+++ webservices/commons/trunk/scratch/asankha/transport/modules/tests/log4j.properties Sat Nov 15 08:11:11 2008
@@ -21,6 +21,8 @@
log4j.rootCategory=DEBUG, CONSOLE
+log4j.category.org.apache.axis2.transport.jms=TRACE
+
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.threshold=ERROR
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
Modified: webservices/commons/trunk/scratch/asankha/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/JMSChannel.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/scratch/asankha/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/JMSChannel.java?rev=717873&r1=717872&r2=717873&view=diff
==============================================================================
--- webservices/commons/trunk/scratch/asankha/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/JMSChannel.java (original)
+++ webservices/commons/trunk/scratch/asankha/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/JMSChannel.java Sat Nov 15 08:11:11 2008
@@ -137,8 +137,8 @@
}
public void setupService(AxisService service, boolean isClientSide) throws Exception {
- service.addParameter(JMSConstants.CONFAC_PARAM, connectionFactoryName);
- service.addParameter(JMSConstants.DEST_PARAM_TYPE, destinationType);
- service.addParameter(JMSConstants.DEST_PARAM, jndiName);
+ service.addParameter(JMSConstants.PARAM_JMS_CONFAC, connectionFactoryName);
+ service.addParameter(JMSConstants.PARAM_DEST_TYPE, destinationType);
+ service.addParameter(JMSConstants.PARAM_DESTINATION, jndiName);
}
}
Modified: webservices/commons/trunk/scratch/asankha/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/JMSRequestResponseChannel.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/scratch/asankha/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/JMSRequestResponseChannel.java?rev=717873&r1=717872&r2=717873&view=diff
==============================================================================
--- webservices/commons/trunk/scratch/asankha/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/JMSRequestResponseChannel.java (original)
+++ webservices/commons/trunk/scratch/asankha/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/JMSRequestResponseChannel.java Sat Nov 15 08:11:11 2008
@@ -63,8 +63,8 @@
@Override
public void setupService(AxisService service, boolean isClientSide) throws Exception {
super.setupService(service, isClientSide);
- service.addParameter(JMSConstants.REPLY_PARAM_TYPE, replyDestinationType);
- service.addParameter(JMSConstants.REPLY_PARAM, replyJndiName);
+ service.addParameter(JMSConstants.PARAM_REPLY_DEST_TYPE, replyDestinationType);
+ service.addParameter(JMSConstants.PARAM_REPLY_DESTINATION, replyJndiName);
}
public void setupRequestMessageContext(MessageContext msgContext) {
@@ -74,7 +74,7 @@
@Override
public EndpointReference getEndpointReference() throws Exception {
String address = super.getEndpointReference().getAddress();
- return new EndpointReference(address + "&" + JMSConstants.REPLY_PARAM_TYPE + "=" + replyDestinationType + "&" + JMSConstants.REPLY_PARAM + "=" + replyJndiName);
+ return new EndpointReference(address + "&" + JMSConstants.PARAM_REPLY_DEST_TYPE + "=" + replyDestinationType + "&" + JMSConstants.PARAM_REPLY_DESTINATION + "=" + replyJndiName);
}
@Key("replyDestType")
Modified: webservices/commons/trunk/scratch/asankha/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/JMSTransportDescriptionFactory.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/scratch/asankha/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/JMSTransportDescriptionFactory.java?rev=717873&r1=717872&r2=717873&view=diff
==============================================================================
--- webservices/commons/trunk/scratch/asankha/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/JMSTransportDescriptionFactory.java (original)
+++ webservices/commons/trunk/scratch/asankha/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/JMSTransportDescriptionFactory.java Sat Nov 15 08:11:11 2008
@@ -47,6 +47,7 @@
private final boolean singleCF;
private final boolean cfOnSender;
+ private final int concurrentConsumers;
private @Transient Context context;
/**
@@ -58,9 +59,10 @@
* should also be configured on the sender. This switch allows
* us to build regression tests for SYNAPSE-448.
*/
- public JMSTransportDescriptionFactory(boolean singleCF, boolean cfOnSender) {
+ public JMSTransportDescriptionFactory(boolean singleCF, boolean cfOnSender, int concurrentConsumers) {
this.singleCF = singleCF;
this.cfOnSender = cfOnSender;
+ this.concurrentConsumers = concurrentConsumers;
}
@Setup @SuppressWarnings("unused")
@@ -108,18 +110,20 @@
OMElement element = createParameterElement(JMSConstants.DEFAULT_CONFAC_NAME, null);
element.addChild(createParameterElement(Context.INITIAL_CONTEXT_FACTORY,
MockContextFactory.class.getName()));
- element.addChild(createParameterElement(JMSConstants.CONFAC_JNDI_NAME_PARAM,
+ element.addChild(createParameterElement(JMSConstants.PARAM_CONFAC_JNDI_NAME,
connFactName));
if (type != null) {
- element.addChild(createParameterElement(JMSConstants.CONFAC_TYPE, type));
+ element.addChild(createParameterElement(JMSConstants.PARAM_CONFAC_TYPE, type));
}
+ element.addChild(createParameterElement(JMSConstants.PARAM_CONCURRENT_CONSUMERS,
+ Integer.toString(concurrentConsumers)));
trpDesc.addParameter(new Parameter(name, element));
}
private void setupTransport(ParameterInclude trpDesc) throws AxisFault {
if (singleCF) {
// TODO: setting the type to "queue" is nonsense, but required by the transport (see SYNAPSE-439)
- setupConnectionFactoryConfig(trpDesc, "default", CONNECTION_FACTORY, "queue");
+ setupConnectionFactoryConfig(trpDesc, "default", CONNECTION_FACTORY, null);
} else {
setupConnectionFactoryConfig(trpDesc, "queue", QUEUE_CONNECTION_FACTORY, "queue");
setupConnectionFactoryConfig(trpDesc, "topic", TOPIC_CONNECTION_FACTORY, "topic");
Modified: webservices/commons/trunk/scratch/asankha/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/JMSTransportTest.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/scratch/asankha/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/JMSTransportTest.java?rev=717873&r1=717872&r2=717873&view=diff
==============================================================================
--- webservices/commons/trunk/scratch/asankha/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/JMSTransportTest.java (original)
+++ webservices/commons/trunk/scratch/asankha/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/JMSTransportTest.java Sat Nov 15 08:11:11 2008
@@ -51,14 +51,18 @@
// SYNAPSE-436:
suite.addExclude("(&(test=EchoXML)(replyDestType=topic)(endpoint=axis))");
-
+
+ // Example to run a few use cases.. please leave these commented out - asankha
+ //suite.addExclude("(|(test=EchoXML)(destType=queue)(broker=qpid)(cfOnSender=true)(singleCF=false)(destType=queue)(client=jms)(endpoint=mock))");
+ //suite.addExclude("(|(test=EchoXML)(test=AsyncXML)(test=AsyncSwA)(test=AsyncTextPlain)(test=AsyncBinary)(test=AsyncSOAPLarge)(broker=qpid))");
+
TransportTestSuiteBuilder builder = new TransportTestSuiteBuilder(suite);
JMSTestEnvironment[] environments = new JMSTestEnvironment[] { new QpidTestEnvironment(), new ActiveMQTestEnvironment() };
for (boolean singleCF : new boolean[] { false, true }) {
for (boolean cfOnSender : new boolean[] { false, true }) {
for (JMSTestEnvironment env : environments) {
- builder.addEnvironment(env, new JMSTransportDescriptionFactory(singleCF, cfOnSender));
+ builder.addEnvironment(env, new JMSTransportDescriptionFactory(singleCF, cfOnSender, 1));
}
}
}
@@ -87,12 +91,12 @@
builder.addEchoEndpoint(new MockEchoEndpoint());
builder.addEchoEndpoint(new AxisEchoEndpoint());
-
+
for (JMSTestEnvironment env : new JMSTestEnvironment[] { new QpidTestEnvironment(), new ActiveMQTestEnvironment() }) {
suite.addTest(new MinConcurrencyTest(new AsyncChannel[] {
new JMSAsyncChannel("endpoint1", JMSConstants.DESTINATION_TYPE_QUEUE, ContentTypeMode.TRANSPORT),
new JMSAsyncChannel("endpoint2", JMSConstants.DESTINATION_TYPE_QUEUE, ContentTypeMode.TRANSPORT) },
- 2, false, env, new JMSTransportDescriptionFactory(false, false)));
+ 2, false, env, new JMSTransportDescriptionFactory(false, false, 2)));
}