Author: veithen
Date: Thu Jan 1 15:00:37 2009
New Revision: 730627
URL: http://svn.apache.org/viewvc?rev=730627&view=rev
Log:
Added an Ant script that allows to automatically set up ActiveMQ for Synapse
and the sample Axis2 server.
Added:
synapse/trunk/java/modules/samples/src/main/scripts/util/
synapse/trunk/java/modules/samples/src/main/scripts/util/build.xml
Modified:
synapse/trunk/java/modules/distribution/pom.xml
synapse/trunk/java/modules/distribution/src/main/assembly/bin.xml
synapse/trunk/java/src/site/xdoc/Synapse_Samples_Setup.xml
Modified: synapse/trunk/java/modules/distribution/pom.xml
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/distribution/pom.xml?rev=730627&r1=730626&r2=730627&view=diff
==============================================================================
--- synapse/trunk/java/modules/distribution/pom.xml (original)
+++ synapse/trunk/java/modules/distribution/pom.xml Thu Jan 1 15:00:37 2009
@@ -51,8 +51,28 @@
<artifactId>synapse-experimental</artifactId>
<version>${pom.version}</version>
</dependency>
+ <dependency>
+ <groupId>com.oopsconsultancy</groupId>
+ <artifactId>xmltask</artifactId>
+ <version>1.14</version>
+ </dependency>
</dependencies>
+ <repositories>
+ <!-- This is for xmltask -->
+ <repository>
+ <id>atlassian-developer-site</id>
+ <name>Atlassian Maven 2 Contributor Repository</name>
+ <url>https://maven.atlassian.com/repository/public</url>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
+ </repositories>
+
<build>
<plugins>
<plugin>
Modified: synapse/trunk/java/modules/distribution/src/main/assembly/bin.xml
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/distribution/src/main/assembly/bin.xml?rev=730627&r1=730626&r2=730627&view=diff
==============================================================================
--- synapse/trunk/java/modules/distribution/src/main/assembly/bin.xml (original)
+++ synapse/trunk/java/modules/distribution/src/main/assembly/bin.xml Thu Jan
1 15:00:37 2009
@@ -270,6 +270,7 @@
<exclude>org.slf4j:slf4j-api:jar</exclude>
<exclude>org.apache.qpid:qpid-common:jar</exclude>
<exclude>org.apache.qpid:qpid-client:jar</exclude>
+ <exclude>com.oopsconsultancy:xmltask:jar</exclude>
</excludes>
</dependencySet>
<dependencySet>
@@ -312,6 +313,13 @@
</includes>
<outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
</dependencySet>
+ <dependencySet>
+ <useProjectArtifact>false</useProjectArtifact>
+
<outputDirectory>synapse-${synapse.version}/samples/util</outputDirectory>
+ <includes>
+ <include>com.oopsconsultancy:xmltask:jar</include>
+ </includes>
+ </dependencySet>
</dependencySets>
</assembly>
Added: synapse/trunk/java/modules/samples/src/main/scripts/util/build.xml
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/samples/src/main/scripts/util/build.xml?rev=730627&view=auto
==============================================================================
--- synapse/trunk/java/modules/samples/src/main/scripts/util/build.xml (added)
+++ synapse/trunk/java/modules/samples/src/main/scripts/util/build.xml Thu Jan
1 15:00:37 2009
@@ -0,0 +1,107 @@
+<?xml version="1.0"?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ -->
+<project name="util" default="help" basedir=".">
+ <property environment="env"/>
+ <property name="activemq.home" value="${env.ACTIVEMQ_HOME}"/>
+ <property name="axis2.xml" value="../../repository/conf/axis2.xml"/>
+ <property name="libdir" value="../../lib"/>
+
+ <taskdef name="xmltask"
classname="com.oopsconsultancy.xmltask.ant.XmlTask">
+ <classpath>
+ <pathelement location="xmltask-1.14.jar"/>
+ </classpath>
+ </taskdef>
+
+ <target name="help">
+ <echo>
+ ant setupActiveMQ
+ Set up the JMS transport in Synapse for use with ActiveMQ. This task
copies the required
+ libraries to the lib folder and configures the JMS transport in
axis2.xml. Note that for
+ this to work, the ActiveMQ installation directory must be specified
either using the
+ ACTIVEMQ_HOME environment variable or the activemq.home property:
+
+ ant setupActiveMQ -Dactivemq.home=/usr/local/apache-activemq-4.1.2
+ </echo>
+ </target>
+
+ <target name="setupActiveMQ">
+ <copy todir="${libdir}">
+ <fileset dir="${activemq.home}/lib">
+ <include name="activeio-core-*.jar"/>
+ <include name="activemq-core-*.jar"/>
+ <include name="geronimo-j2ee-management_*_spec-*.jar"/>
+ <exclude name="*-tests.jar"/>
+ </fileset>
+ </copy>
+ <xmltask source="${axis2.xml}" dest="${axis2.xml}">
+ <remove path="/axisconfig/transportreceiv...@name='jms']"/>
+ <insert path="/axisconfig/transportReceiver[last()]"
position="after">
+ <![CDATA[
+ <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"
locked="false">topic</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"
locked="false">queue</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">QueueConnectionFactory</parameter>
+ <parameter name="transport.jms.ConnectionFactoryType"
locked="false">queue</parameter>
+ </parameter>
+ </transportReceiver>
+ ]]>
+ </insert>
+ <remove path="/axisconfig/transportsend...@name='jms']"/>
+ <insert path="/axisconfig/transportSender[last()]"
position="after">
+ <![CDATA[
+ <transportSender class="org.apache.axis2.transport.jms.JMSSender"
name="jms">
+ <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>
+
+ <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>
+
+ <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">QueueConnectionFactory</parameter>
+ </parameter>
+ </transportSender>
+ ]]>
+ </insert>
+ </xmltask>
+ </target>
+</project>
Modified: synapse/trunk/java/src/site/xdoc/Synapse_Samples_Setup.xml
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/src/site/xdoc/Synapse_Samples_Setup.xml?rev=730627&r1=730626&r2=730627&view=diff
==============================================================================
--- synapse/trunk/java/src/site/xdoc/Synapse_Samples_Setup.xml (original)
+++ synapse/trunk/java/src/site/xdoc/Synapse_Samples_Setup.xml Thu Jan 1
15:00:37 2009
@@ -451,7 +451,6 @@
<h2>
Setting up the JMS Listener
</h2>
- <p/>
<p>
The samples used in this guide assumes the existence of a local ActiveMQ
(4.1.0 or higher) installation properly installed and started up. You
also
@@ -461,10 +460,10 @@
</p>
<ul>
<li>
- activeio-core-3.0.0-incubator.jar
+ activeio-core-3.x.x.jar
</li>
<li>
- activemq-core-4.1.0-incubator.jar
+ activemq-core-4.x.x.jar
</li>
<li>
geronimo-j2ee-management_1.0_spec-1.0.jar
@@ -475,7 +474,7 @@
listener configuration. If you are using a JMS provider other than
ActiveMQ this configuration should be updated to reflect your
environment.
Once uncommented, the default configuration should be as follows. To
- enable JMS for synapse, the repository/conf/axis2.xml must be updated,
+ enable JMS for Synapse, the repository/conf/axis2.xml must be updated,
while to enable JMS support for the sample Axis2 server the
samples/axis2Server/repository/conf/axis2.xml file must be updated.
</p>
@@ -499,7 +498,17 @@
<parameter name="transport.jms.ConnectionFactoryJNDIName"
locked="false">QueueConnectionFactory</parameter>
</parameter>
</transportReceiver></pre>
- <p/>
+ <p>
+ If you are using ActiveMQ, you can use the Ant script in
<tt>samples/util</tt> to set up Synapse
+ (i.e. copying the required JAR files and modifying <tt>axis2.xml</tt>)
in an automated way. In order to do
+ this, change into the <tt>samples/util</tt> directory and execute the
following command:
+ </p>
+<pre xml:space="preserve">ant setupActiveMQ -Dactivemq.home=<i><ActiveMQ
home directory></i></pre>
+ <p>
+ Note that if the environment variable <tt>ACTIVEMQ_HOME</tt> is defined,
you can omit the <tt>-Dactivemq.home</tt>
+ option. If you also want to set up ActiveMQ for the sample Axis2 server,
issue the following command:
+ </p>
+<pre xml:space="preserve">ant setupActiveMQ
-Daxis2.xml=..\axis2Server\repository\conf\axis2.xml</pre>
<h2 id="setupamqpjms">
Configure Synapse for AMQP Transport
</h2>