activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jbono...@apache.org
Subject [activemq] branch activemq-5.16.x updated: Cleanup some unused dependencies and trash
Date Sat, 09 Jan 2021 06:32:52 GMT
This is an automated email from the ASF dual-hosted git repository.

jbonofre pushed a commit to branch activemq-5.16.x
in repository https://gitbox.apache.org/repos/asf/activemq.git


The following commit(s) were added to refs/heads/activemq-5.16.x by this push:
     new 769ae5a  Cleanup some unused dependencies and trash
769ae5a is described below

commit 769ae5adaecdbb29b9b4aecd82828ac8f51d8bb6
Author: jbonofre <jbonofre@apache.org>
AuthorDate: Thu Jan 7 17:46:29 2021 +0100

    Cleanup some unused dependencies and trash
    
    (cherry picked from commit 3791d17e1fc212b00210a2bfb0bb698eca4cd399)
---
 pom.xml                                            |  70 ----
 trash/activemq-optional/pom.xml                    | 249 --------------
 .../activemq/benchmark/BenchmarkSupport.java       | 220 -------------
 .../org/apache/activemq/benchmark/Consumer.java    | 104 ------
 .../org/apache/activemq/benchmark/Producer.java    | 183 -----------
 .../activemq/benchmark/ProducerConsumer.java       |  80 -----
 .../org/apache/activemq/tool/AcidTestTool.java     | 362 ---------------------
 .../org/apache/activemq/tool/ConsumerTool.java     | 133 --------
 .../org/apache/activemq/tool/JndiProducerTool.java |  43 ---
 .../org/apache/activemq/tool/ProducerTool.java     | 131 --------
 .../java/org/apache/activemq/tool/ToolSupport.java |  81 -----
 .../java/org/apache/activemq/tool/WebServer.java   |  61 ----
 .../util/oxm/AbstractXMLMessageTransformer.java    | 145 ---------
 .../activemq/util/oxm/OXMMessageTransformer.java   |  85 -----
 .../util/oxm/XStreamMessageTransformer.java        | 109 -------
 .../oxm/AbstractXMLMessageTransformerTest.java     | 237 --------------
 .../activemq/util/oxm/OXMMessageTransformTest.java |  30 --
 .../util/oxm/XStreamMessageTransformTest.java      | 135 --------
 .../apache/activemq/util/xstream/SamplePojo.java   |  52 ---
 .../util/xstream/XStreamTransformTest.java         | 315 ------------------
 .../src/test/resources/log4j.properties            |  38 ---
 21 files changed, 2863 deletions(-)

diff --git a/pom.xml b/pom.xml
index 301db8b..5595174 100644
--- a/pom.xml
+++ b/pom.xml
@@ -41,14 +41,10 @@
     <activemq-protobuf-version>1.1</activemq-protobuf-version>
     <activesoap-version>1.3</activesoap-version>
     <annogen-version>0.1.0</annogen-version>
-    <ant-bundle-version>1.10.7_1</ant-bundle-version>
-    <aopalliance-version>1.0</aopalliance-version>
     <aries-version>1.1.0</aries-version>
-    <aries-transaction-version>1.1.1</aries-transaction-version>
     <axion-version>1.0-M3-dev</axion-version>
     <camel-version>2.25.2</camel-version>
     <camel-version-range>[2.20,3)</camel-version-range>
-    <cglib-version>2.2</cglib-version>
     <commons-beanutils-version>1.9.4</commons-beanutils-version>
     <commons-collections-version>3.2.2</commons-collections-version>
     <commons-daemon-version>1.2.3</commons-daemon-version>
@@ -62,13 +58,10 @@
     <directory-version>2.0.0.AM25</directory-version>
     <ecj.version>3.17.0</ecj.version>
     <ftpserver-version>1.1.1</ftpserver-version>
-    <geronimo-version>1.0</geronimo-version>
     <guava-version>28.2-jre</guava-version>
     <hadoop-version>1.2.1</hadoop-version>
     <hawtbuf-version>1.11</hawtbuf-version>
     <hawtdispatch-version>1.22</hawtdispatch-version>
-    <howl-version>0.1.8</howl-version>
-    <hsqldb-version>1.8.0.12</hsqldb-version>
     <httpclient-version>4.5.13</httpclient-version>
     <httpcore-version>4.4.13</httpcore-version>
     <insight-version>1.2.0.Beta4</insight-version>
@@ -88,7 +81,6 @@
     <json-simple-version>1.1.1</json-simple-version>
     <junit-version>4.13.1</junit-version>
     <hamcrest-version>1.3</hamcrest-version>
-    <jxta-version>2.0</jxta-version>
     <karaf-version>4.2.10</karaf-version>
     <leveldb-api-version>0.9</leveldb-api-version>
     <leveldb-version>0.9</leveldb-version>
@@ -98,10 +90,8 @@
     <owasp-dependency-check-version>5.2.4</owasp-dependency-check-version>
     <powermock-version>1.6.5</powermock-version>
     <mqtt-client-version>1.16</mqtt-client-version>
-    <openjpa-version>1.2.0</openjpa-version>
     <org-apache-derby-version>10.14.2.0</org-apache-derby-version>
     <osgi-version>6.0.0</osgi-version>
-    <p2psockets-version>1.1.2</p2psockets-version>
     <linkedin-zookeeper-version>1.4.0</linkedin-zookeeper-version>
     <zookeeper-version>3.4.14</zookeeper-version>
     <qpid-proton-version>0.33.8</qpid-proton-version>
@@ -111,8 +101,6 @@
     <netty-all-version>4.1.53.Final</netty-all-version>
     <regexp-version>1.3</regexp-version>
     <rome-version>1.15.0</rome-version>
-    <saxon-version>9.5.1-5</saxon-version>
-    <saxon-bundle-version>9.5.1-5_1</saxon-bundle-version>
     <scala-plugin-version>3.1.0</scala-plugin-version>
     <scala-version>2.11.11</scala-version>
     <shiro-version>1.7.0</shiro-version>
@@ -123,8 +111,6 @@
     <taglibs-version>1.2.5</taglibs-version>
     <velocity-version>2.2</velocity-version>
     <xalan-version>2.7.2</xalan-version>
-    <xmlbeans-version>3.1.0</xmlbeans-version>
-    <xmlbeans-bundle-version>2.6.0_2</xmlbeans-bundle-version>
     <xpp3-version>1.1.4c</xpp3-version>
     <xstream-version>1.4.15</xstream-version>
     <xbean-version>4.18</xbean-version>
@@ -693,12 +679,6 @@
         <version>${commons-collections-version}</version>
       </dependency>
 
-      <dependency>
-        <groupId>org.apache.openjpa</groupId>
-        <artifactId>openjpa-persistence-jdbc</artifactId>
-        <version>${openjpa-version}</version>
-      </dependency>
-
       <!-- Optional Shiro Support -->
       <dependency>
         <groupId>org.apache.shiro</groupId>
@@ -842,15 +822,6 @@
         <version>${regexp-version}</version>
       </dependency>
 
-      <!-- Optional HSQL DB Support -->
-      <!--
-        <dependency>
-        <groupId>hsqldb</groupId>
-        <artifactId>hsqldb</artifactId>
-        <version>${hsqldb-version}</version>
-        </dependency>
-      -->
-
       <dependency>
         <groupId>org.apache.commons</groupId>
         <artifactId>commons-dbcp2</artifactId>
@@ -863,15 +834,6 @@
         <version>${commons-pool2-version}</version>
       </dependency>
 
-      <!-- Optional Journal Implementation -->
-      <!--
-        <dependency>
-        <groupId>howl</groupId>
-        <artifactId>howl-logger</artifactId>
-        <version>${howl-version}</version>
-        </dependency>
-      -->
-
       <!-- Optional Jabber support -->
       <dependency>
         <groupId>activemq</groupId>
@@ -885,21 +847,6 @@
         <version>1.5.0</version>
       </dependency>
 
-      <!-- =============================== -->
-      <!-- XML processing dependencies -->
-      <!-- =============================== -->
-      <!-- For XMLBeans -->
-      <dependency>
-        <groupId>org.apache.xmlbeans</groupId>
-        <artifactId>xmlbeans</artifactId>
-        <version>${xmlbeans-version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.xmlbeans</groupId>
-        <artifactId>xmlbeans-xpath</artifactId>
-        <version>${xmlbeans-version}</version>
-      </dependency>
-
       <!-- To use XPath using JAXP 1.3 (std in Java 5) -->
       <dependency>
         <groupId>activesoap</groupId>
@@ -992,12 +939,6 @@
       </dependency>
 
       <dependency>
-        <groupId>aopalliance</groupId>
-        <artifactId>aopalliance</artifactId>
-        <version>${aopalliance-version}</version>
-      </dependency>
-
-      <dependency>
         <groupId>org.jasypt</groupId>
         <artifactId>jasypt</artifactId>
         <version>${jasypt-version}</version>
@@ -1089,17 +1030,6 @@
       </dependency>
 
       <dependency>
-        <groupId>p2psockets</groupId>
-        <artifactId>p2psockets-core</artifactId>
-        <version>${p2psockets-version}</version>
-      </dependency>
-      <dependency>
-        <groupId>jxta</groupId>
-        <artifactId>jxta</artifactId>
-        <version>${jxta-version}</version>
-      </dependency>
-
-      <dependency>
         <groupId>org.slf4j</groupId>
         <artifactId>slf4j-api</artifactId>
         <version>${slf4j-version}</version>
diff --git a/trash/activemq-optional/pom.xml b/trash/activemq-optional/pom.xml
deleted file mode 100644
index f1aa50c..0000000
--- a/trash/activemq-optional/pom.xml
+++ /dev/null
@@ -1,249 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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 xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.activemq</groupId>
-    <artifactId>activemq-parent</artifactId>
-    <version>5.9-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>activemq-optional</artifactId>
-  <packaging>jar</packaging>
-  <name>ActiveMQ :: Optional</name>
-  <description>Optional ActiveMQ features</description>
-
-  <dependencies>
-    <!-- activemq -->
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>activemq-client</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>activemq-broker</artifactId>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>activeio-core</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>activemq-console</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-core</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-jms</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>aopalliance</groupId>
-      <artifactId>aopalliance</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>com.thoughtworks.xstream</groupId>
-      <artifactId>xstream</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>xpp3</groupId>
-      <artifactId>xpp3</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty.aggregate</groupId>
-      <artifactId>jetty-all-server</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-webapp</artifactId>
-      <version>${jetty-version}</version>
-    </dependency>
-    <dependency>
-        <groupId>org.eclipse.jetty</groupId>
-        <artifactId>jetty-websocket</artifactId>
-        <version>${jetty-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.httpcomponents</groupId>
-      <artifactId>httpclient</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.commons</groupId>
-      <artifactId>commons-pool2</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>commons-collections</groupId>
-      <artifactId>commons-collections</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>commons-logging</groupId>
-      <artifactId>commons-logging</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <!-- log4j jms appender and test tool needs this -->
-    <dependency>
-      <groupId>log4j</groupId>
-      <artifactId>log4j</artifactId>
-      <scope>compile</scope>
-      <optional>true</optional>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>compile</scope>
-      <optional>true</optional>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.xmlbeans</groupId>
-      <artifactId>xmlbeans</artifactId>
-      <optional>true</optional>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.xmlbeans</groupId>
-      <artifactId>xmlbeans-xpath</artifactId>
-      <optional>true</optional>
-      <exclusions>
-        <exclusion>
-          <groupId>net.sf.saxon</groupId>
-          <artifactId>saxon</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>net.sf.saxon</groupId>
-      <artifactId>Saxon-HE</artifactId>
-      <version>${saxon-version}</version>
-      <optional>true</optional>
-    </dependency>
-    <dependency>
-      <groupId>xerces</groupId>
-      <artifactId>xercesImpl</artifactId>
-      <version>${xerces-version}</version>
-      <optional>true</optional>
-    </dependency>
-    <dependency>
-      <groupId>xalan</groupId>
-      <artifactId>xalan</artifactId>
-      <optional>true</optional>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-log4j12</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-oxm</artifactId>
-      <optional>true</optional>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.xbean</groupId>
-      <artifactId>xbean-spring</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.jettison</groupId>
-      <artifactId>jettison</artifactId>
-      <scope>test</scope>
-    </dependency>
-<!--
-    TODO: Not needed, but OSGi bundle on the way: https://issues.apache.org/jira/browse/SMX4-1238
-    <dependency>
-      <groupId>net.sf.josql</groupId>
-      <artifactId>gentlyweb-utils</artifactId>
-      <version>1.5</version>
-    </dependency>
--->
-    <dependency>
-      <groupId>org.seleniumhq.selenium</groupId>
-      <artifactId>selenium-java</artifactId>
-      <version>2.25.0</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.seleniumhq.selenium</groupId>
-      <artifactId>selenium-chrome-driver</artifactId>
-      <version>2.25.0</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.seleniumhq.selenium</groupId>
-      <artifactId>selenium-firefox-driver</artifactId>
-      <version>2.25.0</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-  <build>
-    <plugins>
-        <plugin>
-            <artifactId>maven-jar-plugin</artifactId>
-            <configuration>
-                <archive>
-                    <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
-                </archive>
-            </configuration>
-        </plugin>
-       <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <configuration>
-            <instructions>
-                <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
-                <Fragment-Host>org.apache.activemq.activemq-core</Fragment-Host>
-                <Export-Package>
-                    org.apache.activemq.transport.http*;version=${project.version};-noimport:=;-split-package:=merge-last,
-                    org.apache.activemq.transport.https*;version=${project.version};-noimport:=;-split-package:=merge-last
-                </Export-Package>
-                <Import-Package>
-                    org.eclipse.jetty*;version="[7.6,8.0)";resolution:=optional,
-                    !org.apache.activemq.transport.ws*;version=${project.version},
-                    !org.apache.activemq.transport.xstream;version=${project.version},
-                    !org.apache.activemq.transport.util;version=${project.version},
-                    org.apache.activemq*;version=${project.version};resolution:=optional
-                </Import-Package>
-            </instructions>
-        </configuration>
-           <executions>
-               <execution>
-                   <id>bundle-manifest</id>
-                   <phase>process-classes</phase>
-                   <goals>
-                       <goal>manifest</goal>
-                   </goals>
-               </execution>
-           </executions>
-       </plugin>
-      <!-- Configure which tests are included/excuded -->
-      <plugin>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-</project>
diff --git a/trash/activemq-optional/src/main/java/org/apache/activemq/benchmark/BenchmarkSupport.java b/trash/activemq-optional/src/main/java/org/apache/activemq/benchmark/BenchmarkSupport.java
deleted file mode 100644
index e267126..0000000
--- a/trash/activemq-optional/src/main/java/org/apache/activemq/benchmark/BenchmarkSupport.java
+++ /dev/null
@@ -1,220 +0,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.
- */
-package org.apache.activemq.benchmark;
-
-import java.text.NumberFormat;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.atomic.AtomicInteger;
-import javax.jms.Connection;
-import javax.jms.Destination;
-import javax.jms.JMSException;
-import javax.jms.Session;
-
-import org.apache.activemq.ActiveMQConnectionFactory;
-import org.apache.activemq.util.IdGenerator;
-
-/**
- * Abstract base class for some simple benchmark tools
- */
-public class BenchmarkSupport {
-
-    protected int connectionCount = 1;
-    protected int batch = 1000;
-    protected Destination destination;
-    protected String[] subjects;
-
-    private boolean topic = true;
-    private boolean durable;
-    private ActiveMQConnectionFactory factory;
-    private String url;
-    private int counter;
-    private List<Object> resources = new ArrayList<Object>();
-    private NumberFormat formatter = NumberFormat.getInstance();
-    private AtomicInteger connectionCounter = new AtomicInteger(0);
-    private IdGenerator idGenerator = new IdGenerator();
-    private boolean timerLoop;
-
-    public BenchmarkSupport() {
-    }
-
-    public void start() {
-        System.out.println("Using: " + connectionCount + " connection(s)");
-        subjects = new String[connectionCount];
-        for (int i = 0; i < connectionCount; i++) {
-            subjects[i] = "BENCHMARK.FEED" + i;
-        }
-        if (useTimerLoop()) {
-            Thread timer = new Thread() {
-                public void run() {
-                    timerLoop();
-                }
-            };
-            timer.start();
-        }
-    }
-
-    public String getUrl() {
-        return url;
-    }
-
-    public void setUrl(String url) {
-        this.url = url;
-    }
-
-    public boolean isTopic() {
-        return topic;
-    }
-
-    public void setTopic(boolean topic) {
-        this.topic = topic;
-    }
-
-    public ActiveMQConnectionFactory getFactory() {
-        return factory;
-    }
-
-    public void setFactory(ActiveMQConnectionFactory factory) {
-        this.factory = factory;
-    }
-
-    public void setSubject(String subject) {
-        connectionCount = 1;
-        subjects = new String[] {
-            subject
-        };
-    }
-
-    public boolean isDurable() {
-        return durable;
-    }
-
-    public void setDurable(boolean durable) {
-        this.durable = durable;
-    }
-
-    public int getConnectionCount() {
-        return connectionCount;
-    }
-
-    public void setConnectionCount(int connectionCount) {
-        this.connectionCount = connectionCount;
-    }
-
-    protected Session createSession() throws JMSException {
-        if (factory == null) {
-            factory = createFactory();
-        }
-        Connection connection = factory.createConnection();
-        int value = connectionCounter.incrementAndGet();
-        System.out.println("Created connection: " + value + " = " + connection);
-        if (durable) {
-            connection.setClientID(idGenerator.generateId());
-        }
-        addResource(connection);
-        connection.start();
-
-        Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-        addResource(session);
-        return session;
-    }
-
-    protected ActiveMQConnectionFactory createFactory() {
-        ActiveMQConnectionFactory answer = new ActiveMQConnectionFactory(getUrl());
-        return answer;
-    }
-
-    protected synchronized void count(int count) {
-        counter += count;
-        /*
-         * if (counter > batch) { counter = 0; long current =
-         * System.currentTimeMillis(); double end = current - time; end /= 1000;
-         * time = current; System.out.println("Processed " + batch + " messages
-         * in " + end + " (secs)"); }
-         */
-    }
-
-    protected synchronized int resetCount() {
-        int answer = counter;
-        counter = 0;
-        return answer;
-    }
-
-    protected void timerLoop() {
-        int times = 0;
-        int total = 0;
-        int dumpVmStatsFrequency = 10;
-        Runtime runtime = Runtime.getRuntime();
-
-        while (true) {
-            try {
-                Thread.sleep(1000);
-            } catch (InterruptedException e) {
-                e.printStackTrace();
-            }
-            int processed = resetCount();
-            double average = 0;
-            if (processed > 0) {
-                total += processed;
-                times++;
-            }
-            if (times > 0) {
-                average = total / (double) times;
-            }
-
-            System.out.println(getClass().getName() + " Processed: " + processed + " messages this second. Average: " + average);
-
-            if ((times % dumpVmStatsFrequency) == 0 && times != 0) {
-                System.out.println("Used memory: " + asMemoryString(runtime.totalMemory() - runtime.freeMemory()) + " Free memory: " + asMemoryString(runtime.freeMemory()) + " Total memory: "
-                                   + asMemoryString(runtime.totalMemory()) + " Max memory: " + asMemoryString(runtime.maxMemory()));
-            }
-
-        }
-    }
-
-    protected String asMemoryString(long value) {
-        return formatter.format(value / 1024) + " K";
-    }
-
-    protected boolean useTimerLoop() {
-        return timerLoop;
-    }
-
-    protected Destination createDestination(Session session, String subject) throws JMSException {
-        if (topic) {
-            return session.createTopic(subject);
-        } else {
-            return session.createQueue(subject);
-        }
-    }
-
-    protected void addResource(Object resource) {
-        resources.add(resource);
-    }
-
-    public int getCounter() {
-        return counter;
-    }
-
-    public void setTimerLoop(boolean timerLoop) {
-        this.timerLoop = timerLoop;
-    }
-
-    protected static boolean parseBoolean(String text) {
-        return text.equalsIgnoreCase("true");
-    }
-}
diff --git a/trash/activemq-optional/src/main/java/org/apache/activemq/benchmark/Consumer.java b/trash/activemq-optional/src/main/java/org/apache/activemq/benchmark/Consumer.java
deleted file mode 100644
index 5d5ae7c..0000000
--- a/trash/activemq-optional/src/main/java/org/apache/activemq/benchmark/Consumer.java
+++ /dev/null
@@ -1,104 +0,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.
- */
-package org.apache.activemq.benchmark;
-
-import javax.jms.Destination;
-import javax.jms.JMSException;
-import javax.jms.Message;
-import javax.jms.MessageConsumer;
-import javax.jms.MessageListener;
-import javax.jms.Session;
-import javax.jms.TextMessage;
-import javax.jms.Topic;
-
-public class Consumer extends BenchmarkSupport implements MessageListener {
-
-    public Consumer() {
-    }
-
-    public static void main(String[] args) {
-        Consumer tool = new Consumer();
-        if (args.length > 0) {
-            tool.setUrl(args[0]);
-        }
-        if (args.length > 1) {
-            tool.setTopic(parseBoolean(args[1]));
-        }
-        if (args.length > 2) {
-            tool.setSubject(args[2]);
-        }
-        if (args.length > 3) {
-            tool.setDurable(parseBoolean(args[3]));
-        }
-        if (args.length > 4) {
-            tool.setConnectionCount(Integer.parseInt(args[4]));
-        }
-
-        try {
-            tool.run();
-        } catch (Exception e) {
-            System.out.println("Caught: " + e);
-            e.printStackTrace();
-        }
-    }
-
-    public void run() throws JMSException {
-        start();
-        subscribe();
-    }
-
-    protected void subscribe() throws JMSException {
-        for (int i = 0; i < subjects.length; i++) {
-            subscribe(subjects[i]);
-        }
-    }
-
-    protected void subscribe(String subject) throws JMSException {
-        Session session = createSession();
-
-        Destination destination = createDestination(session, subject);
-
-        System.out.println("Consuming on : " + destination + " of type: " + destination.getClass().getName());
-
-        MessageConsumer consumer = null;
-        if (isDurable() && isTopic()) {
-            consumer = session.createDurableSubscriber((Topic)destination, getClass().getName());
-        } else {
-            consumer = session.createConsumer(destination);
-        }
-        consumer.setMessageListener(this);
-        addResource(consumer);
-    }
-
-    public void onMessage(Message message) {
-        try {
-            TextMessage textMessage = (TextMessage)message;
-
-            // lets force the content to be deserialized
-            textMessage.getText();
-            count(1);
-
-            // lets count the messages
-
-            // message.acknowledge();
-        } catch (JMSException e) {
-            // TODO Auto-generated catch block
-            e.printStackTrace();
-        }
-    }
-
-}
diff --git a/trash/activemq-optional/src/main/java/org/apache/activemq/benchmark/Producer.java b/trash/activemq-optional/src/main/java/org/apache/activemq/benchmark/Producer.java
deleted file mode 100644
index 5ca5241..0000000
--- a/trash/activemq-optional/src/main/java/org/apache/activemq/benchmark/Producer.java
+++ /dev/null
@@ -1,183 +0,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.
- */
-package org.apache.activemq.benchmark;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
-import javax.jms.DeliveryMode;
-import javax.jms.Destination;
-import javax.jms.JMSException;
-import javax.jms.Message;
-import javax.jms.MessageProducer;
-import javax.jms.Session;
-
-public class Producer extends BenchmarkSupport {
-
-    int loops = -1;
-    int loopSize = 1000;
-    private int messageSize = 1000;
-
-    public Producer() {
-    }
-
-    public static void main(String[] args) {
-        Producer tool = new Producer();
-        if (args.length > 0) {
-            tool.setUrl(args[0]);
-        }
-        if (args.length > 1) {
-            tool.setTopic(parseBoolean(args[1]));
-        }
-        if (args.length > 2) {
-            tool.setSubject(args[2]);
-        }
-        if (args.length > 3) {
-            tool.setDurable(parseBoolean(args[3]));
-        }
-        if (args.length > 4) {
-            tool.setMessageSize(Integer.parseInt(args[4]));
-        }
-        if (args.length > 5) {
-            tool.setConnectionCount(Integer.parseInt(args[5]));
-        }
-        try {
-            tool.run();
-        } catch (Exception e) {
-            System.out.println("Caught: " + e);
-            e.printStackTrace();
-        }
-    }
-
-    public void run() throws Exception {
-        start();
-        publish();
-    }
-
-    // Properties
-    // -------------------------------------------------------------------------
-    public int getMessageSize() {
-        return messageSize;
-    }
-
-    public void setMessageSize(int messageSize) {
-        this.messageSize = messageSize;
-    }
-
-    public int getLoopSize() {
-        return loopSize;
-    }
-
-    public void setLoopSize(int loopSize) {
-        this.loopSize = loopSize;
-    }
-
-    // Implementation methods
-    // -------------------------------------------------------------------------
-
-    protected void publish() throws Exception {
-        final String text = getMessage();
-
-        System.out.println("Publishing to: " + subjects.length + " subject(s)");
-
-        for (int i = 0; i < subjects.length; i++) {
-            final String subject = subjects[i];
-            Thread thread = new Thread() {
-                public void run() {
-                    try {
-                        publish(text, subject);
-                    } catch (JMSException e) {
-                        System.out.println("Caught: " + e);
-                        e.printStackTrace();
-                    }
-                }
-            };
-            thread.start();
-        }
-
-    }
-
-    protected String getMessage() {
-        StringBuffer buffer = new StringBuffer();
-        for (int i = 0; i < messageSize; i++) {
-            char ch = 'X';
-            buffer.append(ch);
-        }
-        return buffer.toString();
-    }
-
-    protected void publish(String text, String subject) throws JMSException {
-        Session session = createSession();
-
-        Destination destination = createDestination(session, subject);
-
-        MessageProducer publisher = session.createProducer(destination);
-        if (isDurable()) {
-            publisher.setDeliveryMode(DeliveryMode.PERSISTENT);
-        } else {
-            publisher.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
-        }
-
-        System.out.println("Starting publisher on : " + destination + " of type: " + destination.getClass().getName());
-        System.out.println("Message length: " + text.length());
-
-        if (loops <= 0) {
-            while (true) {
-                publishLoop(session, publisher, text);
-            }
-        } else {
-            for (int i = 0; i < loops; i++) {
-                publishLoop(session, publisher, text);
-            }
-        }
-    }
-
-    protected void publishLoop(Session session, MessageProducer publisher, String text) throws JMSException {
-        for (int i = 0; i < loopSize; i++) {
-            Message message = session.createTextMessage(text);
-
-            publisher.send(message);
-            count(1);
-        }
-    }
-
-    protected String loadFile(String file) throws IOException {
-        System.out.println("Loading file: " + file);
-
-        StringBuffer buffer = new StringBuffer();
-        BufferedReader in = new BufferedReader(new FileReader(file));
-        while (true) {
-            String line = in.readLine();
-            if (line == null) {
-                break;
-            }
-            buffer.append(line);
-            buffer.append(File.separator);
-        }
-        in.close();
-        return buffer.toString();
-    }
-
-    public int getLoops() {
-        return loops;
-    }
-
-    public void setLoops(int loops) {
-        this.loops = loops;
-    }
-}
diff --git a/trash/activemq-optional/src/main/java/org/apache/activemq/benchmark/ProducerConsumer.java b/trash/activemq-optional/src/main/java/org/apache/activemq/benchmark/ProducerConsumer.java
deleted file mode 100644
index 32489e9..0000000
--- a/trash/activemq-optional/src/main/java/org/apache/activemq/benchmark/ProducerConsumer.java
+++ /dev/null
@@ -1,80 +0,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.
- */
-package org.apache.activemq.benchmark;
-
-public class ProducerConsumer extends Producer {
-
-    private Consumer consumer = new Consumer();
-    
-    public ProducerConsumer() {
-    }
-
-    public static void main(String[] args) {
-        ProducerConsumer tool = new ProducerConsumer();
-        if (args.length > 0) {
-            tool.setUrl(args[0]);
-        }
-        if (args.length > 1) {
-            tool.setTopic(parseBoolean(args[1]));
-        }
-        if (args.length > 2) {
-            tool.setSubject(args[2]);
-        }
-        if (args.length > 3) {
-            tool.setDurable(Boolean.getBoolean(args[3]));
-        }
-        if (args.length > 4) {
-            tool.setConnectionCount(Integer.parseInt(args[4]));
-        }
-        try {
-            tool.run();
-        } catch (Exception e) {
-            System.out.println("Caught: " + e);
-            e.printStackTrace();
-        }
-    }
-
-    public void run() throws Exception {
-        consumer.start();
-        consumer.subscribe();
-        start();
-        publish();
-    }
-
-    public void setTopic(boolean topic) {
-        super.setTopic(topic);
-        consumer.setTopic(topic);
-    }
-
-    public void setSubject(String subject) {
-        super.setSubject(subject);
-        consumer.setSubject(subject);
-    }
-
-    public void setUrl(String url) {
-        super.setUrl(url);
-        consumer.setUrl(url);
-    }
-
-    protected boolean useTimerLoop() {
-        return false;
-    }
-
-    public Consumer getConsumer() {
-        return consumer;
-    }
-}
diff --git a/trash/activemq-optional/src/main/java/org/apache/activemq/tool/AcidTestTool.java b/trash/activemq-optional/src/main/java/org/apache/activemq/tool/AcidTestTool.java
deleted file mode 100644
index 001fb13..0000000
--- a/trash/activemq-optional/src/main/java/org/apache/activemq/tool/AcidTestTool.java
+++ /dev/null
@@ -1,362 +0,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.
- */
-package org.apache.activemq.tool;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Random;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.atomic.AtomicInteger;
-import javax.jms.BytesMessage;
-import javax.jms.Connection;
-import javax.jms.DeliveryMode;
-import javax.jms.Destination;
-import javax.jms.JMSException;
-import javax.jms.Message;
-import javax.jms.MessageConsumer;
-import javax.jms.MessageProducer;
-import javax.jms.Session;
-
-import junit.framework.TestCase;
-import org.apache.activemq.ActiveMQConnectionFactory;
-import org.apache.activemq.command.ActiveMQQueue;
-
-/**
- * 
- */
-public class AcidTestTool extends TestCase {
-
-
-    // Worker configuration.
-    protected int recordSize = 1024;
-    protected int batchSize = 5;
-    protected int workerThinkTime = 500;
-    protected Destination target;
-
-    private Random random = new Random();
-    private byte data[];
-    private int workerCount = 10;
-    private AtomicBoolean ignoreJMSErrors = new AtomicBoolean(false);
-    private ActiveMQConnectionFactory factory;
-    private Connection connection;
-    private AtomicInteger publishedBatches = new AtomicInteger(0);
-    private AtomicInteger consumedBatches = new AtomicInteger(0);
-    private List<Throwable> errors = Collections.synchronizedList(new ArrayList<Throwable>());
-
-    private interface Worker extends Runnable {
-        boolean waitForExit(long i) throws InterruptedException;
-    }
-
-    private final class ProducerWorker implements Worker {
-
-        private Session session;
-        private MessageProducer producer;
-        private BytesMessage message;
-        private CountDownLatch doneLatch = new CountDownLatch(1);
-
-        ProducerWorker(Session session, String workerId) throws JMSException {
-            this.session = session;
-            producer = session.createProducer(target);
-            producer.setDeliveryMode(DeliveryMode.PERSISTENT);
-            message = session.createBytesMessage();
-            message.setStringProperty("workerId", workerId);
-            message.writeBytes(data);
-        }
-
-        public void run() {
-            try {
-                for (int batchId = 0; true; batchId++) {
-                    // System.out.println("Sending batch: "+workerId+"
-                    // "+batchId);
-                    for (int msgId = 0; msgId < batchSize; msgId++) {
-                        // Sleep some random amount of time less than
-                        // workerThinkTime
-                        try {
-                            Thread.sleep(random.nextInt(workerThinkTime));
-                        } catch (InterruptedException e1) {
-                            return;
-                        }
-
-                        message.setIntProperty("batch-id", batchId);
-                        message.setIntProperty("msg-id", msgId);
-
-                        producer.send(message);
-                    }
-                    session.commit();
-                    publishedBatches.incrementAndGet();
-                    // System.out.println("Commited send batch: "+workerId+"
-                    // "+batchId);
-                }
-            } catch (JMSException e) {
-                if (!ignoreJMSErrors.get()) {
-                    e.printStackTrace();
-                    errors.add(e);
-                }
-                return;
-            } catch (Throwable e) {
-                e.printStackTrace();
-                errors.add(e);
-                return;
-            } finally {
-                System.out.println("Producer exiting.");
-                doneLatch.countDown();
-            }
-        }
-
-        public boolean waitForExit(long i) throws InterruptedException {
-            return doneLatch.await(i, TimeUnit.MILLISECONDS);
-        }
-    }
-
-    private final class ConsumerWorker implements Worker {
-
-        private Session session;
-        private MessageConsumer consumer;
-        private final long timeout;
-        private CountDownLatch doneLatch = new CountDownLatch(1);
-
-        ConsumerWorker(Session session, String workerId, long timeout) throws JMSException {
-            this.session = session;
-            this.timeout = timeout;
-            consumer = session.createConsumer(target, "workerId='" + workerId + "'");
-        }
-
-        public void run() {
-
-            try {
-                int batchId = 0;
-                while (true) {
-                    for (int msgId = 0; msgId < batchSize; msgId++) {
-
-                        // Sleep some random amount of time less than
-                        // workerThinkTime
-                        try {
-                            Thread.sleep(random.nextInt(workerThinkTime));
-                        } catch (InterruptedException e1) {
-                            return;
-                        }
-
-                        Message message = consumer.receive(timeout);
-                        if (msgId > 0) {
-                            assertNotNull(message);
-                            assertEquals(message.getIntProperty("batch-id"), batchId);
-                            assertEquals(message.getIntProperty("msg-id"), msgId);
-                        } else {
-                            if (message == null) {
-                                System.out.println("At end of batch an don't have a next batch to process.  done.");
-                                return;
-                            }
-                            assertEquals(msgId, message.getIntProperty("msg-id"));
-                            batchId = message.getIntProperty("batch-id");
-                            // System.out.println("Receiving batch: "+workerId+"
-                            // "+batchId);
-                        }
-
-                    }
-                    session.commit();
-                    consumedBatches.incrementAndGet();
-                    // System.out.println("Commited receive batch: "+workerId+"
-                    // "+batchId);
-                }
-            } catch (JMSException e) {
-                if (!ignoreJMSErrors.get()) {
-                    e.printStackTrace();
-                    errors.add(e);
-                }
-                return;
-            } catch (Throwable e) {
-                e.printStackTrace();
-                errors.add(e);
-                return;
-            } finally {
-                System.out.println("Consumer exiting.");
-                doneLatch.countDown();
-            }
-        }
-
-        public boolean waitForExit(long i) throws InterruptedException {
-            return doneLatch.await(i, TimeUnit.MILLISECONDS);
-        }
-    }
-
-    /**
-     * @see junit.framework.TestCase#setUp()
-     */
-    protected void setUp() throws Exception {
-        factory = new ActiveMQConnectionFactory("tcp://localhost:61616");
-        this.target = new ActiveMQQueue(getClass().getName());
-    }
-
-    protected void tearDown() throws Exception {
-        if (connection != null) {
-            try {
-                connection.close();
-            } catch (Throwable ignore) {
-            }
-            connection = null;
-        }
-    }
-
-    /**
-     * @throws InterruptedException
-     * @throws JMSException
-     * @throws JMSException
-     */
-    private void reconnect() throws InterruptedException, JMSException {
-        if (connection != null) {
-            try {
-                connection.close();
-            } catch (Throwable ignore) {
-            }
-            connection = null;
-        }
-
-        long reconnectDelay = 1000;
-
-        while (connection == null) {
-            if (reconnectDelay > 1000 * 10) {
-                reconnectDelay = 1000 * 10;
-            }
-            try {
-                connection = factory.createConnection();
-                connection.start();
-            } catch (JMSException e) {
-                Thread.sleep(reconnectDelay);
-                reconnectDelay *= 2;
-            }
-        }
-    }
-
-    /**
-     * @throws Throwable
-     * @throws IOException
-     */
-    public void testAcidTransactions() throws Throwable {
-
-        System.out.println("Client threads write records using: Record Size: " + recordSize + ", Batch Size: " + batchSize + ", Worker Think Time: " + workerThinkTime);
-
-        // Create the record and fill it with some values.
-        data = new byte[recordSize];
-        for (int i = 0; i < data.length; i++) {
-            data[i] = (byte)i;
-        }
-
-        System.out.println("==============================================");
-        System.out.println("===> Start the server now.");
-        System.out.println("==============================================");
-        reconnect();
-
-        System.out.println("Starting " + workerCount + " Workers...");
-        ArrayList<Worker> workers = new ArrayList<Worker>();
-        for (int i = 0; i < workerCount; i++) {
-            String workerId = "worker-" + i;
-
-            Worker w = new ConsumerWorker(connection.createSession(true, Session.SESSION_TRANSACTED), workerId, 1000 * 5);
-            workers.add(w);
-            new Thread(w, "Consumer:" + workerId).start();
-
-            w = new ProducerWorker(connection.createSession(true, Session.SESSION_TRANSACTED), workerId);
-            workers.add(w);
-            new Thread(w, "Producer:" + workerId).start();
-        }
-
-        System.out.println("Waiting for " + (workerCount * 10) + " batches to be delivered.");
-
-        //
-        // Wait for about 5 batches of messages per worker to be consumed before
-        // restart.
-        // 
-        while (publishedBatches.get() < workerCount * 5) {
-            System.out.println("Stats: Produced Batches: " + this.publishedBatches.get() + ", Consumed Batches: " + this.consumedBatches.get());
-            Thread.sleep(1000);
-        }
-
-        System.out.println("==============================================");
-        System.out.println("===> Server is under load now.  Kill it!");
-        System.out.println("==============================================");
-        ignoreJMSErrors.set(true);
-
-        // Wait for all the workers to finish.
-        System.out.println("Waiting for all workers to exit due to server shutdown.");
-        for (Iterator<Worker> iter = workers.iterator(); iter.hasNext();) {
-            Worker worker = iter.next();
-            while (!worker.waitForExit(1000)) {
-                System.out.println("==============================================");
-                System.out.println("===> Server is under load now.  Kill it!");
-                System.out.println("==============================================");
-                System.out.println("Stats: Produced Batches: " + this.publishedBatches.get() + ", Consumed Batches: " + this.consumedBatches.get());
-            }
-        }
-        workers.clear();
-
-        // No errors should have occurred so far.
-        if (errors.size() > 0) {
-            throw errors.get(0);
-        }
-
-        System.out.println("==============================================");
-        System.out.println("===> Start the server now.");
-        System.out.println("==============================================");
-        reconnect();
-
-        System.out.println("Restarted.");
-
-        // Validate the all transactions were commited as a uow. Looking for
-        // partial commits.
-        for (int i = 0; i < workerCount; i++) {
-            String workerId = "worker-" + i;
-            Worker w = new ConsumerWorker(connection.createSession(true, Session.SESSION_TRANSACTED), workerId, 5 * 1000);
-            workers.add(w);
-            new Thread(w, "Consumer:" + workerId).start();
-        }
-
-        System.out.println("Waiting for restarted consumers to finish consuming all messages..");
-        for (Iterator<Worker> iter = workers.iterator(); iter.hasNext();) {
-            Worker worker = iter.next();
-            while (!worker.waitForExit(1000 * 5)) {
-                System.out.println("Waiting for restarted consumers to finish consuming all messages..");
-                System.out.println("Stats: Produced Batches: " + this.publishedBatches.get() + ", Consumed Batches: " + this.consumedBatches.get());
-            }
-        }
-        workers.clear();
-
-        System.out.println("Workers finished..");
-        System.out.println("Stats: Produced Batches: " + this.publishedBatches.get() + ", Consumed Batches: " + this.consumedBatches.get());
-
-        if (errors.size() > 0) {
-            throw errors.get(0);
-        }
-
-    }
-
-    public static void main(String[] args) {
-        try {
-            AcidTestTool tool = new AcidTestTool();
-            tool.setUp();
-            tool.testAcidTransactions();
-            tool.tearDown();
-        } catch (Throwable e) {
-            System.out.println("Test Failed: " + e.getMessage());
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/trash/activemq-optional/src/main/java/org/apache/activemq/tool/ConsumerTool.java b/trash/activemq-optional/src/main/java/org/apache/activemq/tool/ConsumerTool.java
deleted file mode 100644
index 13cd336..0000000
--- a/trash/activemq-optional/src/main/java/org/apache/activemq/tool/ConsumerTool.java
+++ /dev/null
@@ -1,133 +0,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.
- */
-package org.apache.activemq.tool;
-
-import java.io.IOException;
-import javax.jms.Connection;
-import javax.jms.JMSException;
-import javax.jms.Message;
-import javax.jms.MessageConsumer;
-import javax.jms.MessageListener;
-import javax.jms.Session;
-import javax.jms.TextMessage;
-import javax.jms.Topic;
-
-/**
- * A simple tool for consuming messages
- * 
- * 
- */
-public class ConsumerTool extends ToolSupport implements MessageListener {
-
-    protected int count;
-    protected int dumpCount = 10;
-    protected boolean verbose = true;
-    protected int maxiumMessages;
-    private boolean pauseBeforeShutdown;
-
-    public static void main(String[] args) {
-        ConsumerTool tool = new ConsumerTool();
-        if (args.length > 0) {
-            tool.url = args[0];
-        }
-        if (args.length > 1) {
-            tool.topic = args[1].equalsIgnoreCase("true");
-        }
-        if (args.length > 2) {
-            tool.subject = args[2];
-        }
-        if (args.length > 3) {
-            tool.durable = args[3].equalsIgnoreCase("true");
-        }
-        if (args.length > 4) {
-            tool.maxiumMessages = Integer.parseInt(args[4]);
-        }
-        tool.run();
-    }
-
-    public void run() {
-        try {
-            System.out.println("Connecting to URL: " + url);
-            System.out.println("Consuming " + (topic ? "topic" : "queue") + ": " + subject);
-            System.out.println("Using " + (durable ? "durable" : "non-durable") + " subscription");
-
-            Connection connection = createConnection();
-            Session session = createSession(connection);
-            MessageConsumer consumer = null;
-            if (durable && topic) {
-                consumer = session.createDurableSubscriber((Topic)destination, consumerName);
-            } else {
-                consumer = session.createConsumer(destination);
-            }
-            if (maxiumMessages <= 0) {
-                consumer.setMessageListener(this);
-            }
-            connection.start();
-
-            if (maxiumMessages > 0) {
-                consumeMessagesAndClose(connection, session, consumer);
-            }
-        } catch (Exception e) {
-            System.out.println("Caught: " + e);
-            e.printStackTrace();
-        }
-    }
-
-    public void onMessage(Message message) {
-        try {
-            if (message instanceof TextMessage) {
-                TextMessage txtMsg = (TextMessage)message;
-                if (verbose) {
-
-                    String msg = txtMsg.getText();
-                    if (msg.length() > 50) {
-                        msg = msg.substring(0, 50) + "...";
-                    }
-
-                    System.out.println("Received: " + msg);
-                }
-            } else {
-                if (verbose) {
-                    System.out.println("Received: " + message);
-                }
-            }
-            /*
-             * if (++count % dumpCount == 0) { dumpStats(connection); }
-             */
-        } catch (JMSException e) {
-            System.out.println("Caught: " + e);
-            e.printStackTrace();
-        }
-    }
-
-    protected void consumeMessagesAndClose(Connection connection, Session session, MessageConsumer consumer) throws JMSException, IOException {
-        System.out.println("We are about to wait until we consume: " + maxiumMessages + " message(s) then we will shutdown");
-
-        for (int i = 0; i < maxiumMessages; i++) {
-            Message message = consumer.receive();
-            onMessage(message);
-        }
-        System.out.println("Closing connection");
-        consumer.close();
-        session.close();
-        connection.close();
-        if (pauseBeforeShutdown) {
-            System.out.println("Press return to shut down");
-            System.in.read();
-        }
-    }
-}
diff --git a/trash/activemq-optional/src/main/java/org/apache/activemq/tool/JndiProducerTool.java b/trash/activemq-optional/src/main/java/org/apache/activemq/tool/JndiProducerTool.java
deleted file mode 100644
index 6d9c7c5..0000000
--- a/trash/activemq-optional/src/main/java/org/apache/activemq/tool/JndiProducerTool.java
+++ /dev/null
@@ -1,43 +0,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.
- */
-package org.apache.activemq.tool;
-
-import javax.jms.Connection;
-import javax.jms.ConnectionFactory;
-import javax.jms.Queue;
-import javax.naming.InitialContext;
-
-/**
- * 
- */
-public class JndiProducerTool extends ProducerTool {
-
-    public static void main(String[] args) {
-        runTool(args, new JndiProducerTool());
-    }
-
-    protected Connection createConnection() throws Exception {
-        InitialContext jndiContext = new InitialContext();
-
-        ConnectionFactory queueConnectionFactory = (ConnectionFactory) jndiContext.lookup("ConnectionFactory");
-        Connection connection = queueConnectionFactory.createConnection();
-        destination = (Queue) jndiContext.lookup(subject);
-        return connection;
-
-    }
-
-}
diff --git a/trash/activemq-optional/src/main/java/org/apache/activemq/tool/ProducerTool.java b/trash/activemq-optional/src/main/java/org/apache/activemq/tool/ProducerTool.java
deleted file mode 100644
index 129c303..0000000
--- a/trash/activemq-optional/src/main/java/org/apache/activemq/tool/ProducerTool.java
+++ /dev/null
@@ -1,131 +0,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.
- */
-package org.apache.activemq.tool;
-
-import java.util.Date;
-import javax.jms.Connection;
-import javax.jms.DeliveryMode;
-import javax.jms.JMSException;
-import javax.jms.MessageProducer;
-import javax.jms.Session;
-import javax.jms.TextMessage;
-
-/**
- * A simple tool for publishing messages
- * 
- * 
- */
-public class ProducerTool extends ToolSupport {
-
-    protected int messageCount = 10;
-    protected long sleepTime;
-    protected boolean verbose = true;
-    protected int messageSize = 255;
-
-    public static void main(String[] args) {
-        runTool(args, new ProducerTool());
-    }
-
-    protected static void runTool(String[] args, ProducerTool tool) {
-        if (args.length > 0) {
-            tool.url = args[0];
-        }
-        if (args.length > 1) {
-            tool.topic = args[1].equalsIgnoreCase("true");
-        }
-        if (args.length > 2) {
-            tool.subject = args[2];
-        }
-        if (args.length > 3) {
-            tool.durable = args[3].equalsIgnoreCase("true");
-        }
-        if (args.length > 4) {
-            tool.messageCount = Integer.parseInt(args[4]);
-        }
-        if (args.length > 5) {
-            tool.messageSize = Integer.parseInt(args[5]);
-        }
-        tool.run();
-    }
-
-    public void run() {
-        try {
-            System.out.println("Connecting to URL: " + url);
-            System.out.println("Publishing a Message with size " + messageSize + " to " + (topic ? "topic" : "queue") + ": " + subject);
-            System.out.println("Using " + (durable ? "durable" : "non-durable") + " publishing");
-
-            Connection connection = createConnection();
-            Session session = createSession(connection);
-            MessageProducer producer = createProducer(session);
-            // connection.start();
-
-            sendLoop(session, producer);
-
-            System.out.println("Done.");
-            close(connection, session);
-        } catch (Exception e) {
-            System.out.println("Caught: " + e);
-            e.printStackTrace();
-        }
-    }
-
-    protected MessageProducer createProducer(Session session) throws JMSException {
-        MessageProducer producer = session.createProducer(destination);
-        if (durable) {
-            producer.setDeliveryMode(DeliveryMode.PERSISTENT);
-        } else {
-            producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
-        }
-        return producer;
-    }
-
-    protected void sendLoop(Session session, MessageProducer producer) throws Exception {
-
-        for (int i = 0; i < messageCount; i++) {
-
-            TextMessage message = session.createTextMessage(createMessageText(i));
-
-            if (verbose) {
-                String msg = message.getText();
-                if (msg.length() > 50) {
-                    msg = msg.substring(0, 50) + "...";
-                }
-                System.out.println("Sending message: " + msg);
-            }
-
-            producer.send(message);
-            Thread.sleep(sleepTime);
-        }
-        producer.send(session.createMessage());
-    }
-
-    /**
-     * @param i
-     * @return
-     */
-    private String createMessageText(int index) {
-        StringBuffer buffer = new StringBuffer(messageSize);
-        buffer.append("Message: " + index + " sent at: " + new Date());
-        if (buffer.length() > messageSize) {
-            return buffer.substring(0, messageSize);
-        }
-        for (int i = buffer.length(); i < messageSize; i++) {
-            buffer.append(' ');
-        }
-        return buffer.toString();
-    }
-}
diff --git a/trash/activemq-optional/src/main/java/org/apache/activemq/tool/ToolSupport.java b/trash/activemq-optional/src/main/java/org/apache/activemq/tool/ToolSupport.java
deleted file mode 100644
index c3c9124..0000000
--- a/trash/activemq-optional/src/main/java/org/apache/activemq/tool/ToolSupport.java
+++ /dev/null
@@ -1,81 +0,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.
- */
-package org.apache.activemq.tool;
-
-import javax.jms.Connection;
-import javax.jms.Destination;
-import javax.jms.JMSException;
-import javax.jms.Session;
-
-import org.apache.activemq.ActiveMQConnection;
-import org.apache.activemq.ActiveMQConnectionFactory;
-import org.apache.activemq.util.IndentPrinter;
-
-/**
- * Abstract base class useful for implementation inheritence
- * 
- * 
- */
-public class ToolSupport {
-
-    protected Destination destination;
-    protected String subject = "TOOL.DEFAULT";
-    protected boolean topic = true;
-    protected String user = ActiveMQConnection.DEFAULT_USER;
-    protected String pwd = ActiveMQConnection.DEFAULT_PASSWORD;
-    protected String url = ActiveMQConnection.DEFAULT_BROKER_URL;
-    protected boolean transacted;
-    protected boolean durable;
-    protected String clientID = getClass().getName();
-    protected int ackMode = Session.AUTO_ACKNOWLEDGE;
-    protected String consumerName = "James";
-
-    protected Session createSession(Connection connection) throws Exception {
-        if (durable) {
-            connection.setClientID(clientID);
-        }
-        Session session = connection.createSession(transacted, ackMode);
-        if (topic) {
-            destination = session.createTopic(subject);
-        } else {
-            destination = session.createQueue(subject);
-        }
-        return session;
-    }
-
-    protected Connection createConnection() throws JMSException, Exception {
-        ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(user, pwd, url);
-        return connectionFactory.createConnection();
-    }
-
-    protected void close(Connection connection, Session session) throws JMSException {
-        // lets dump the stats
-        dumpStats(connection);
-
-        if (session != null) {
-            session.close();
-        }
-        if (connection != null) {
-            connection.close();
-        }
-    }
-
-    protected void dumpStats(Connection connection) {
-        ActiveMQConnection c = (ActiveMQConnection)connection;
-        c.getConnectionStats().dump(new IndentPrinter());
-    }
-}
diff --git a/trash/activemq-optional/src/main/java/org/apache/activemq/tool/WebServer.java b/trash/activemq-optional/src/main/java/org/apache/activemq/tool/WebServer.java
deleted file mode 100644
index 98cf61d..0000000
--- a/trash/activemq-optional/src/main/java/org/apache/activemq/tool/WebServer.java
+++ /dev/null
@@ -1,61 +0,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.
- */
-package org.apache.activemq.tool;
-
-import org.eclipse.jetty.server.Connector;
-import org.eclipse.jetty.server.Server;
-import org.eclipse.jetty.server.bio.SocketConnector;
-import org.eclipse.jetty.webapp.WebAppContext;
-
-/**
- * 
- */
-public final class WebServer {
-
-    public static final int PORT = 8080;
-    // public static final String WEBAPP_DIR = "target/activemq";
-    public static final String WEBAPP_DIR = "src/webapp";
-    public static final String WEBAPP_CTX = "/";
-
-    private WebServer() {
-    }
-
-    public static void main(String[] args) throws Exception {
-        Server server = new Server();
-        Connector context = new SocketConnector();
-        context.setServer(server);
-        context.setPort(PORT);
-
-        String webappDir = WEBAPP_DIR;
-        if (args.length > 0) {
-            webappDir = args[0];
-        }
-
-        WebAppContext webapp = new WebAppContext();
-        webapp.setServer(server);
-        webapp.setContextPath(WEBAPP_CTX);
-        webapp.setResourceBase(webappDir);
-
-        server.setHandler(webapp);
-
-        server.setConnectors(new Connector[] {
-            context
-        });
-        server.start();
-
-    }
-}
diff --git a/trash/activemq-optional/src/main/java/org/apache/activemq/util/oxm/AbstractXMLMessageTransformer.java b/trash/activemq-optional/src/main/java/org/apache/activemq/util/oxm/AbstractXMLMessageTransformer.java
deleted file mode 100644
index 37805a8..0000000
--- a/trash/activemq-optional/src/main/java/org/apache/activemq/util/oxm/AbstractXMLMessageTransformer.java
+++ /dev/null
@@ -1,145 +0,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.
- */
-
-package org.apache.activemq.util.oxm;
-
-import java.io.Serializable;
-import javax.jms.JMSException;
-import javax.jms.Message;
-import javax.jms.MessageConsumer;
-import javax.jms.MessageProducer;
-import javax.jms.ObjectMessage;
-import javax.jms.Session;
-import javax.jms.TextMessage;
-
-import org.apache.activemq.MessageTransformerSupport;
-
-/**
- * Abstract class used as a base for implementing transformers from object to text messages (in XML/JSON format)
- * and vice versa using.
- * Supports plugging of custom marshallers
- */
-public abstract class AbstractXMLMessageTransformer extends
-		MessageTransformerSupport {
-
-    protected MessageTransform transformType;
-
-    /**
-     * Defines the type of transformation. If XML (default), - producer
-     * transformation transforms from Object to XML. - consumer transformation
-     * transforms from XML to Object. If OBJECT, - producer transformation
-     * transforms from XML to Object. - consumer transformation transforms from
-     * Object to XML. If ADAPTIVE, - producer transformation transforms from
-     * Object to XML, or XML to Object depending on the type of the original
-     * message - consumer transformation transforms from XML to Object, or
-     * Object to XML depending on the type of the original message
-     */
-    public enum MessageTransform {
-        XML, OBJECT, ADAPTIVE
-    };
-
-
-    public AbstractXMLMessageTransformer() {
-        this(MessageTransform.XML);
-    }
-
-    public AbstractXMLMessageTransformer(MessageTransform transformType) {
-        this.transformType = transformType;
-    }
-
-    public Message consumerTransform(Session session, MessageConsumer consumer, Message message) throws JMSException {
-        switch (transformType) {
-        case XML:
-            return (message instanceof TextMessage) ? textToObject(session, (TextMessage)message) : message;
-        case OBJECT:
-            return (message instanceof ObjectMessage) ? objectToText(session, (ObjectMessage)message) : message;
-        case ADAPTIVE:
-            return (message instanceof TextMessage) ? textToObject(session, (TextMessage)message) : (message instanceof ObjectMessage) ? objectToText(session, (ObjectMessage)message) : message;
-        default:
-        }
-        return message;
-    }
-
-    public Message producerTransform(Session session, MessageProducer producer, Message message) throws JMSException {
-        switch (transformType) {
-        case XML:
-            return (message instanceof ObjectMessage) ? objectToText(session, (ObjectMessage)message) : message;
-        case OBJECT:
-            return (message instanceof TextMessage) ? textToObject(session, (TextMessage)message) : message;
-        case ADAPTIVE:
-            return (message instanceof TextMessage) ? textToObject(session, (TextMessage)message) : (message instanceof ObjectMessage) ? objectToText(session, (ObjectMessage)message) : message;
-        default:
-        }
-        return message;
-    }
-
-    public MessageTransform getTransformType() {
-        return transformType;
-    }
-
-    public void setTransformType(MessageTransform transformType) {
-        this.transformType = transformType;
-    }
-
-    /**
-     * Transforms an incoming XML encoded {@link TextMessage} to an
-     * {@link ObjectMessage}
-     * 
-     * @param session - JMS session currently being used
-     * @param textMessage - text message to transform to object message
-     * @return ObjectMessage
-     * @throws JMSException
-     */
-    protected ObjectMessage textToObject(Session session, TextMessage textMessage) throws JMSException {
-        Object object = unmarshall(session, textMessage);
-        if (object instanceof Serializable) {
-            ObjectMessage answer = session.createObjectMessage((Serializable)object);
-            copyProperties(textMessage, answer);
-            return answer;
-        } else {
-            throw new JMSException("Object is not serializable: " + object);
-        }
-    }
-
-    /**
-     * Transforms an incoming {@link ObjectMessage} to an XML encoded
-     * {@link TextMessage}
-     * 
-     * @param session - JMS session currently being used
-     * @param objectMessage - object message to transform to text message
-     * @return XML encoded TextMessage
-     * @throws JMSException
-     */
-    protected TextMessage objectToText(Session session, ObjectMessage objectMessage) throws JMSException {
-        TextMessage answer = session.createTextMessage(marshall(session, objectMessage));
-        copyProperties(objectMessage, answer);
-        return answer;
-    }
-
-    /**
-     * Marshalls the Object in the {@link ObjectMessage} to a string using XML
-     * encoding
-     */
-    protected abstract String marshall(Session session, ObjectMessage objectMessage) throws JMSException;
-
-    /**
-     * Unmarshalls the XML encoded message in the {@link TextMessage} to an
-     * Object
-     */
-    protected abstract Object unmarshall(Session session, TextMessage textMessage) throws JMSException;
-
-}
diff --git a/trash/activemq-optional/src/main/java/org/apache/activemq/util/oxm/OXMMessageTransformer.java b/trash/activemq-optional/src/main/java/org/apache/activemq/util/oxm/OXMMessageTransformer.java
deleted file mode 100644
index a82241b..0000000
--- a/trash/activemq-optional/src/main/java/org/apache/activemq/util/oxm/OXMMessageTransformer.java
+++ /dev/null
@@ -1,85 +0,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.
- */
-
-package org.apache.activemq.util.oxm;
-
-import java.io.StringReader;
-import java.io.StringWriter;
-import javax.jms.JMSException;
-import javax.jms.ObjectMessage;
-import javax.jms.Session;
-import javax.jms.TextMessage;
-import javax.xml.transform.Result;
-import javax.xml.transform.Source;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.stream.StreamSource;
-
-import org.springframework.oxm.support.AbstractMarshaller;
-
-
-/**
- * Transforms object messages to text messages and vice versa using Spring OXM.
- *
- */
-public class OXMMessageTransformer extends AbstractXMLMessageTransformer {
-
-	/**
-	 * OXM marshaller used to marshall/unmarshall messages
-	 */
-	private AbstractMarshaller marshaller;
-	
-	public AbstractMarshaller getMarshaller() {
-		return marshaller;
-	}
-
-	public void setMarshaller(AbstractMarshaller marshaller) {
-		this.marshaller = marshaller;
-	}
-
-    /**
-     * Marshalls the Object in the {@link ObjectMessage} to a string using XML
-     * encoding
-     */
-	protected String marshall(Session session, ObjectMessage objectMessage)
-			throws JMSException {
-		try {
-            StringWriter writer = new StringWriter();
-            Result result = new StreamResult(writer);
-            marshaller.marshal(objectMessage.getObject(), result);
-            writer.flush();
-			return writer.toString();
-		} catch (Exception e) {
-			throw new JMSException(e.getMessage());
-		}
-	} 
-	
-    /**
-     * Unmarshalls the XML encoded message in the {@link TextMessage} to an
-     * Object
-     */
-	protected Object unmarshall(Session session, TextMessage textMessage)
-			throws JMSException {
-		try {
-            String text = textMessage.getText();
-            Source source = new StreamSource(new StringReader(text));
-			return marshaller.unmarshal(source);
-		} catch (Exception e) {
-			throw new JMSException(e.getMessage());
-		}
-	}
-
-}
diff --git a/trash/activemq-optional/src/main/java/org/apache/activemq/util/oxm/XStreamMessageTransformer.java b/trash/activemq-optional/src/main/java/org/apache/activemq/util/oxm/XStreamMessageTransformer.java
deleted file mode 100644
index 598b00f..0000000
--- a/trash/activemq-optional/src/main/java/org/apache/activemq/util/oxm/XStreamMessageTransformer.java
+++ /dev/null
@@ -1,109 +0,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.
- */
-
-package org.apache.activemq.util.oxm;
-
-import java.io.Serializable;
-import java.io.StringReader;
-import java.io.StringWriter;
-import javax.jms.JMSException;
-import javax.jms.ObjectMessage;
-import javax.jms.Session;
-import javax.jms.TextMessage;
-
-import com.thoughtworks.xstream.XStream;
-import com.thoughtworks.xstream.io.HierarchicalStreamDriver;
-import com.thoughtworks.xstream.io.HierarchicalStreamReader;
-import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
-import com.thoughtworks.xstream.io.xml.PrettyPrintWriter;
-import com.thoughtworks.xstream.io.xml.XppReader;
-
-import org.xmlpull.mxp1.MXParser;
-
-/**
- * Transforms object messages to text messages and vice versa using
- * {@link XStream}
- * 
- */
-public class XStreamMessageTransformer extends AbstractXMLMessageTransformer {
-
-    private XStream xStream;
-    
-    /**
-     * Specialized driver to be used with stream readers and writers
-     */
-    private HierarchicalStreamDriver streamDriver;
-    
-    // Properties
-    // -------------------------------------------------------------------------
-    public XStream getXStream() {
-        if (xStream == null) {
-            xStream = createXStream();
-        }
-        return xStream;
-    }
-
-    public void setXStream(XStream xStream) {
-        this.xStream = xStream;
-    }
-
-    public HierarchicalStreamDriver getStreamDriver() {
-		return streamDriver;
-	}
-
-	public void setStreamDriver(HierarchicalStreamDriver streamDriver) {
-		this.streamDriver = streamDriver;
-	}
-	
-	// Implementation methods
-    // -------------------------------------------------------------------------
-    protected XStream createXStream() {
-        return new XStream();
-    }	
-	
-    /**
-     * Marshalls the Object in the {@link ObjectMessage} to a string using XML
-     * encoding
-     */
-    protected String marshall(Session session, ObjectMessage objectMessage) throws JMSException {
-        Serializable object = objectMessage.getObject();
-        StringWriter buffer = new StringWriter();
-        HierarchicalStreamWriter out;
-        if (streamDriver != null) {
-        	out = streamDriver.createWriter(buffer);
-        } else {
-        	out = new PrettyPrintWriter(buffer);
-        }
-        getXStream().marshal(object, out);
-        return buffer.toString();
-    }
-
-    /**
-     * Unmarshalls the XML encoded message in the {@link TextMessage} to an
-     * Object
-     */
-    protected Object unmarshall(Session session, TextMessage textMessage) throws JMSException {
-        HierarchicalStreamReader in;
-        if (streamDriver != null) {
-        	in = streamDriver.createReader(new StringReader(textMessage.getText()));
-        } else {
-        	in = new XppReader(new StringReader(textMessage.getText()), new MXParser());
-        }
-        return getXStream().unmarshal(in);
-    }
-
-}
diff --git a/trash/activemq-optional/src/test/java/org/apache/activemq/util/oxm/AbstractXMLMessageTransformerTest.java b/trash/activemq-optional/src/test/java/org/apache/activemq/util/oxm/AbstractXMLMessageTransformerTest.java
deleted file mode 100644
index 379bfd9..0000000
--- a/trash/activemq-optional/src/test/java/org/apache/activemq/util/oxm/AbstractXMLMessageTransformerTest.java
+++ /dev/null
@@ -1,237 +0,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.
- */
-
-package org.apache.activemq.util.oxm;
-
-import javax.jms.Connection;
-import javax.jms.Destination;
-import javax.jms.Message;
-import javax.jms.MessageConsumer;
-import javax.jms.MessageProducer;
-import javax.jms.ObjectMessage;
-import javax.jms.Session;
-import javax.jms.TextMessage;
-
-import junit.framework.TestCase;
-import org.apache.activemq.ActiveMQConnectionFactory;
-import org.apache.activemq.ActiveMQMessageConsumer;
-import org.apache.activemq.MessageTransformer;
-import org.apache.activemq.util.xstream.SamplePojo;
-
-import static org.apache.activemq.util.oxm.AbstractXMLMessageTransformer.MessageTransform.ADAPTIVE;
-import static org.apache.activemq.util.oxm.AbstractXMLMessageTransformer.MessageTransform.OBJECT;
-import static org.apache.activemq.util.oxm.AbstractXMLMessageTransformer.MessageTransform.XML;
-
-public abstract class AbstractXMLMessageTransformerTest extends TestCase {
-    protected ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("vm://localhost?broker.persistent=false");
-    protected Connection connection;
-    protected long timeout = 5000;
-    
-    protected Connection createConnection(MessageTransformer transformer) throws Exception {
-        connectionFactory.setTransformer(transformer);
-        connection = connectionFactory.createConnection();
-        connection.start();
-        return connection;
-    }
-    
-    protected abstract AbstractXMLMessageTransformer createTransformer();
-    
-    public void testSendObjectMessageReceiveAsTextMessageAndObjectMessage() throws Exception {
-    	AbstractXMLMessageTransformer transformer = createTransformer();
-    	transformer.setTransformType(XML);
-    	connection = createConnection(transformer);
-
-        // lets create the consumers
-        Session objectSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-        Destination destination = objectSession.createTopic(getClass().getName());
-        MessageConsumer objectConsumer = objectSession.createConsumer(destination);
-
-        Session textSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-        MessageConsumer textConsumer = textSession.createConsumer(destination);
-        // lets clear the transformer on this consumer so we see the message as
-        // it really is
-        ((ActiveMQMessageConsumer)textConsumer).setTransformer(null);
-
-        // send a message
-        Session producerSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-        MessageProducer producer = producerSession.createProducer(destination);
-
-        ObjectMessage request = producerSession.createObjectMessage(new SamplePojo("James", "London"));
-        producer.send(request);
-
-        // lets consume it as an object message
-        Message message = objectConsumer.receive(timeout);
-        assertNotNull("Should have received a message!", message);
-        assertTrue("Should be an ObjectMessage but was: " + message, message instanceof ObjectMessage);
-        ObjectMessage objectMessage = (ObjectMessage)message;
-        Object object = objectMessage.getObject();
-        assertTrue("object payload of wrong type: " + object, object instanceof SamplePojo);
-        SamplePojo body = (SamplePojo)object;
-        assertEquals("name", "James", body.getName());
-        assertEquals("city", "London", body.getCity());
-
-        // lets consume it as a text message
-        message = textConsumer.receive(timeout);
-        assertNotNull("Should have received a message!", message);
-        assertTrue("Should be a TextMessage but was: " + message, message instanceof TextMessage);
-        TextMessage textMessage = (TextMessage)message;
-        String text = textMessage.getText();
-        assertTrue("Text should be non-empty!", text != null && text.length() > 0);
-        System.out.println("Received XML...");
-        System.out.println(text);
-    }
-
-    public void testSendTextMessageReceiveAsObjectMessageAndTextMessage() throws Exception {
-    	AbstractXMLMessageTransformer transformer = createTransformer();
-    	transformer.setTransformType(OBJECT);
-    	connection = createConnection(transformer);
-
-        // lets create the consumers
-        Session textSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-        Destination destination = textSession.createTopic(getClass().getName());
-        MessageConsumer textConsumer = textSession.createConsumer(destination);
-
-        Session objectSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-        MessageConsumer objectConsumer = objectSession.createConsumer(destination);
-        // lets clear the transformer on this consumer so we see the message as
-        // it really is
-        ((ActiveMQMessageConsumer)objectConsumer).setTransformer(null);
-
-        // send a message
-        Session producerSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-        MessageProducer producer = producerSession.createProducer(destination);
-
-        String xmlText = "<org.apache.activemq.util.xstream.SamplePojo>" 
-            + "<name>James</name>" 
-            + "<city>London</city>" 
-            + "</org.apache.activemq.util.xstream.SamplePojo>";
-
-        TextMessage request = producerSession.createTextMessage(xmlText);
-        producer.send(request);
-
-        Message message;
-        // lets consume it as a text message
-        message = textConsumer.receive(timeout);
-        assertNotNull("Should have received a message!", message);
-        assertTrue("Should be a TextMessage but was: " + message, message instanceof TextMessage);
-        TextMessage textMessage = (TextMessage)message;
-        String text = textMessage.getText();
-        assertTrue("Text should be non-empty!", text != null && text.length() > 0);
-
-        // lets consume it as an object message
-        message = objectConsumer.receive(timeout);
-        assertNotNull("Should have received a message!", message);
-        assertTrue("Should be an ObjectMessage but was: " + message, message instanceof ObjectMessage);
-        ObjectMessage objectMessage = (ObjectMessage)message;
-        Object object = objectMessage.getObject();
-        assertTrue("object payload of wrong type: " + object, object instanceof SamplePojo);
-        SamplePojo body = (SamplePojo)object;
-        assertEquals("name", "James", body.getName());
-        assertEquals("city", "London", body.getCity());
-
-    }
-
-    public void testAdaptiveTransform() throws Exception {
-    	AbstractXMLMessageTransformer transformer = createTransformer();
-    	transformer.setTransformType(ADAPTIVE);
-    	connection = createConnection(transformer);
-
-        // lets create the consumers
-        Session adaptiveSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-        Destination destination = adaptiveSession.createTopic(getClass().getName());
-        MessageConsumer adaptiveConsumer = adaptiveSession.createConsumer(destination);
-
-        Session origSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-        MessageConsumer origConsumer = origSession.createConsumer(destination);
-        // lets clear the transformer on this consumer so we see the message as
-        // it really is
-        ((ActiveMQMessageConsumer)origConsumer).setTransformer(null);
-
-        // Create producer
-        Session producerSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-        MessageProducer producer = producerSession.createProducer(destination);
-
-        Message message;
-        ObjectMessage objectMessage;
-        TextMessage textMessage;
-        SamplePojo body;
-        Object object;
-        String text;
-
-        // Send a text message
-        String xmlText = "<org.apache.activemq.util.xstream.SamplePojo>" 
-            + "<name>James</name>" 
-            + "<city>London</city>" 
-            + "</org.apache.activemq.util.xstream.SamplePojo>";
-
-        TextMessage txtRequest = producerSession.createTextMessage(xmlText);
-        producer.send(txtRequest);
-
-        // lets consume it as a text message
-        message = adaptiveConsumer.receive(timeout);
-        assertNotNull("Should have received a message!", message);
-        assertTrue("Should be a TextMessage but was: " + message, message instanceof TextMessage);
-        textMessage = (TextMessage)message;
-        text = textMessage.getText();
-        assertTrue("Text should be non-empty!", text != null && text.length() > 0);
-
-        // lets consume it as an object message
-        message = origConsumer.receive(timeout);
-        assertNotNull("Should have received a message!", message);
-        assertTrue("Should be an ObjectMessage but was: " + message, message instanceof ObjectMessage);
-        objectMessage = (ObjectMessage)message;
-        object = objectMessage.getObject();
-        assertTrue("object payload of wrong type: " + object, object instanceof SamplePojo);
-        body = (SamplePojo)object;
-        assertEquals("name", "James", body.getName());
-        assertEquals("city", "London", body.getCity());
-
-        // Send object message
-        ObjectMessage objRequest = producerSession.createObjectMessage(new SamplePojo("James", "London"));
-        producer.send(objRequest);
-
-        // lets consume it as an object message
-        message = adaptiveConsumer.receive(timeout);
-        assertNotNull("Should have received a message!", message);
-        assertTrue("Should be an ObjectMessage but was: " + message, message instanceof ObjectMessage);
-        objectMessage = (ObjectMessage)message;
-        object = objectMessage.getObject();
-        assertTrue("object payload of wrong type: " + object, object instanceof SamplePojo);
-        body = (SamplePojo)object;
-        assertEquals("name", "James", body.getName());
-        assertEquals("city", "London", body.getCity());
-
-        // lets consume it as a text message
-        message = origConsumer.receive(timeout);
-        assertNotNull("Should have received a message!", message);
-        assertTrue("Should be a TextMessage but was: " + message, message instanceof TextMessage);
-        textMessage = (TextMessage)message;
-        text = textMessage.getText();
-        assertTrue("Text should be non-empty!", text != null && text.length() > 0);
-        System.out.println("Received XML...");
-        System.out.println(text);
-
-    }
-    
-    protected void tearDown() throws Exception {
-        if (connection != null) {
-            connection.close();
-        }
-    }
-    
-
-}
diff --git a/trash/activemq-optional/src/test/java/org/apache/activemq/util/oxm/OXMMessageTransformTest.java b/trash/activemq-optional/src/test/java/org/apache/activemq/util/oxm/OXMMessageTransformTest.java
deleted file mode 100644
index 4a0a4a2..0000000
--- a/trash/activemq-optional/src/test/java/org/apache/activemq/util/oxm/OXMMessageTransformTest.java
+++ /dev/null
@@ -1,30 +0,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.
- */
-
-package org.apache.activemq.util.oxm;
-
-import org.springframework.oxm.xstream.XStreamMarshaller;
-
-public class OXMMessageTransformTest extends AbstractXMLMessageTransformerTest {
-
-	protected AbstractXMLMessageTransformer createTransformer()  {
-    	OXMMessageTransformer transformer = new OXMMessageTransformer();
-    	transformer.setMarshaller(new XStreamMarshaller());
-    	return transformer;
-    }
-
-}
diff --git a/trash/activemq-optional/src/test/java/org/apache/activemq/util/oxm/XStreamMessageTransformTest.java b/trash/activemq-optional/src/test/java/org/apache/activemq/util/oxm/XStreamMessageTransformTest.java
deleted file mode 100644
index 58351b2..0000000
--- a/trash/activemq-optional/src/test/java/org/apache/activemq/util/oxm/XStreamMessageTransformTest.java
+++ /dev/null
@@ -1,135 +0,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.
- */
-
-package org.apache.activemq.util.oxm;
-
-import javax.jms.Destination;
-import javax.jms.Message;
-import javax.jms.MessageConsumer;
-import javax.jms.MessageProducer;
-import javax.jms.ObjectMessage;
-import javax.jms.Session;
-import javax.jms.TextMessage;
-
-import com.thoughtworks.xstream.io.json.JettisonMappedXmlDriver;
-import org.apache.activemq.ActiveMQMessageConsumer;
-import org.apache.activemq.util.xstream.SamplePojo;
-
-import static org.apache.activemq.util.oxm.AbstractXMLMessageTransformer.MessageTransform.ADAPTIVE;
-
-public class XStreamMessageTransformTest extends
-		AbstractXMLMessageTransformerTest {
-
-	protected AbstractXMLMessageTransformer createTransformer() {
-		return new XStreamMessageTransformer();
-	}
-
-	public void testStreamDriverTransform() throws Exception {
-		XStreamMessageTransformer transformer = (XStreamMessageTransformer) createTransformer();
-		transformer.setTransformType(ADAPTIVE);
-		transformer.setStreamDriver(new JettisonMappedXmlDriver());
-		connection = createConnection(transformer);
-
-		// lets create the consumers
-		Session adaptiveSession = connection.createSession(false,
-				Session.AUTO_ACKNOWLEDGE);
-		Destination destination = adaptiveSession.createTopic(getClass()
-				.getName());
-		MessageConsumer adaptiveConsumer = adaptiveSession
-				.createConsumer(destination);
-
-		Session origSession = connection.createSession(false,
-				Session.AUTO_ACKNOWLEDGE);
-		MessageConsumer origConsumer = origSession.createConsumer(destination);
-		// lets clear the transformer on this consumer so we see the message as
-		// it really is
-		((ActiveMQMessageConsumer) origConsumer).setTransformer(null);
-
-		// Create producer
-		Session producerSession = connection.createSession(false,
-				Session.AUTO_ACKNOWLEDGE);
-		MessageProducer producer = producerSession.createProducer(destination);
-
-		Message message;
-		ObjectMessage objectMessage;
-		TextMessage textMessage;
-		SamplePojo body;
-		Object object;
-		String text;
-
-		// Send a text message
-		String xmlText = "{\"org.apache.activemq.util.xstream.SamplePojo\":{\"name\":\"James\",\"city\":\"London\"}}";
-
-		TextMessage txtRequest = producerSession.createTextMessage(xmlText);
-		producer.send(txtRequest);
-
-		// lets consume it as a text message
-		message = adaptiveConsumer.receive(timeout);
-		assertNotNull("Should have received a message!", message);
-		assertTrue("Should be a TextMessage but was: " + message,
-				message instanceof TextMessage);
-		textMessage = (TextMessage) message;
-		text = textMessage.getText();
-		assertTrue("Text should be non-empty!", text != null
-				&& text.length() > 0);
-
-		// lets consume it as an object message
-		message = origConsumer.receive(timeout);
-		assertNotNull("Should have received a message!", message);
-		assertTrue("Should be an ObjectMessage but was: " + message,
-				message instanceof ObjectMessage);
-		objectMessage = (ObjectMessage) message;
-		object = objectMessage.getObject();
-		assertTrue("object payload of wrong type: " + object,
-				object instanceof SamplePojo);
-		body = (SamplePojo) object;
-		assertEquals("name", "James", body.getName());
-		assertEquals("city", "London", body.getCity());
-
-		// Send object message
-		ObjectMessage objRequest = producerSession
-				.createObjectMessage(new SamplePojo("James", "London"));
-		producer.send(objRequest);
-
-		// lets consume it as an object message
-		message = adaptiveConsumer.receive(timeout);
-		assertNotNull("Should have received a message!", message);
-		assertTrue("Should be an ObjectMessage but was: " + message,
-				message instanceof ObjectMessage);
-		objectMessage = (ObjectMessage) message;
-		object = objectMessage.getObject();
-		assertTrue("object payload of wrong type: " + object,
-				object instanceof SamplePojo);
-		body = (SamplePojo) object;
-		assertEquals("name", "James", body.getName());
-		assertEquals("city", "London", body.getCity());
-
-		// lets consume it as a text message
-		message = origConsumer.receive(timeout);
-		assertNotNull("Should have received a message!", message);
-		assertTrue("Should be a TextMessage but was: " + message,
-				message instanceof TextMessage);
-		textMessage = (TextMessage) message;
-		text = textMessage.getText();
-		assertTrue("Text should be non-empty!", text != null
-				&& text.length() > 0);
-		System.out.println("Received JSON...");
-		System.out.println(text);
-
-	}
-
-}
diff --git a/trash/activemq-optional/src/test/java/org/apache/activemq/util/xstream/SamplePojo.java b/trash/activemq-optional/src/test/java/org/apache/activemq/util/xstream/SamplePojo.java
deleted file mode 100644
index 8ae6367..0000000
--- a/trash/activemq-optional/src/test/java/org/apache/activemq/util/xstream/SamplePojo.java
+++ /dev/null
@@ -1,52 +0,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.
- */
-package org.apache.activemq.util.xstream;
-
-import java.io.Serializable;
-
-/**
- * 
- */
-public class SamplePojo implements Serializable {
-    private String name;
-    private String city;
-
-    public SamplePojo() {
-    }
-
-    public SamplePojo(String name, String city) {
-        this.name = name;
-        this.city = city;
-    }
-
-
-    public String getCity() {
-        return city;
-    }
-
-    public void setCity(String city) {
-        this.city = city;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-}
diff --git a/trash/activemq-optional/src/test/java/org/apache/activemq/util/xstream/XStreamTransformTest.java b/trash/activemq-optional/src/test/java/org/apache/activemq/util/xstream/XStreamTransformTest.java
deleted file mode 100644
index 6102b85..0000000
--- a/trash/activemq-optional/src/test/java/org/apache/activemq/util/xstream/XStreamTransformTest.java
+++ /dev/null
@@ -1,315 +0,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.
- */
-package org.apache.activemq.util.xstream;
-
-import javax.jms.Connection;
-import javax.jms.Destination;
-import javax.jms.Message;
-import javax.jms.MessageConsumer;
-import javax.jms.MessageProducer;
-import javax.jms.ObjectMessage;
-import javax.jms.Session;
-import javax.jms.TextMessage;
-
-import com.thoughtworks.xstream.io.json.JettisonMappedXmlDriver;
-import junit.framework.TestCase;
-import org.apache.activemq.ActiveMQConnectionFactory;
-import org.apache.activemq.ActiveMQMessageConsumer;
-
-import static org.apache.activemq.util.oxm.AbstractXMLMessageTransformer.MessageTransform.ADAPTIVE;
-import static org.apache.activemq.util.oxm.AbstractXMLMessageTransformer.MessageTransform.OBJECT;
-import static org.apache.activemq.util.oxm.AbstractXMLMessageTransformer.MessageTransform.XML;
-
-/**
- * 
- */
-public class XStreamTransformTest extends TestCase {
-    protected ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("vm://localhost?broker.persistent=false&broker.useJmx=false");
-    protected Connection connection;
-    protected long timeout = 5000;
-
-    public void testSendObjectMessageReceiveAsTextMessageAndObjectMessage() throws Exception {
-        org.apache.activemq.util.oxm.XStreamMessageTransformer transformer = new org.apache.activemq.util.oxm.XStreamMessageTransformer();
-        transformer.setTransformType(XML);
-        connectionFactory.setTransformer(transformer);
-        connection = connectionFactory.createConnection();
-        connection.start();
-
-        // lets create the consumers
-        Session objectSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-        Destination destination = objectSession.createTopic(getClass().getName());
-        MessageConsumer objectConsumer = objectSession.createConsumer(destination);
-
-        Session textSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-        MessageConsumer textConsumer = textSession.createConsumer(destination);
-        // lets clear the transformer on this consumer so we see the message as
-        // it really is
-        ((ActiveMQMessageConsumer)textConsumer).setTransformer(null);
-
-        // send a message
-        Session producerSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-        MessageProducer producer = producerSession.createProducer(destination);
-
-        ObjectMessage request = producerSession.createObjectMessage(new SamplePojo("James", "London"));
-        producer.send(request);
-
-        // lets consume it as an object message
-        Message message = objectConsumer.receive(timeout);
-        assertNotNull("Should have received a message!", message);
-        assertTrue("Should be an ObjectMessage but was: " + message, message instanceof ObjectMessage);
-        ObjectMessage objectMessage = (ObjectMessage)message;
-        Object object = objectMessage.getObject();
-        assertTrue("object payload of wrong type: " + object, object instanceof SamplePojo);
-        SamplePojo body = (SamplePojo)object;
-        assertEquals("name", "James", body.getName());
-        assertEquals("city", "London", body.getCity());
-
-        // lets consume it as a text message
-        message = textConsumer.receive(timeout);
-        assertNotNull("Should have received a message!", message);
-        assertTrue("Should be a TextMessage but was: " + message, message instanceof TextMessage);
-        TextMessage textMessage = (TextMessage)message;
-        String text = textMessage.getText();
-        assertTrue("Text should be non-empty!", text != null && text.length() > 0);
-        System.out.println("Received XML...");
-        System.out.println(text);
-    }
-
-    public void testSendTextMessageReceiveAsObjectMessageAndTextMessage() throws Exception {
-        org.apache.activemq.util.oxm.XStreamMessageTransformer transformer = new org.apache.activemq.util.oxm.XStreamMessageTransformer();
-        transformer.setTransformType(OBJECT);
-        connectionFactory.setTransformer(transformer);
-        connection = connectionFactory.createConnection();
-        connection.start();
-
-        // lets create the consumers
-        Session textSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-        Destination destination = textSession.createTopic(getClass().getName());
-        MessageConsumer textConsumer = textSession.createConsumer(destination);
-
-        Session objectSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-        MessageConsumer objectConsumer = objectSession.createConsumer(destination);
-        // lets clear the transformer on this consumer so we see the message as
-        // it really is
-        ((ActiveMQMessageConsumer)objectConsumer).setTransformer(null);
-
-        // send a message
-        Session producerSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-        MessageProducer producer = producerSession.createProducer(destination);
-
-        String xmlText = "<org.apache.activemq.util.xstream.SamplePojo>" 
-            + "<name>James</name>" 
-            + "<city>London</city>" 
-            + "</org.apache.activemq.util.xstream.SamplePojo>";
-
-        TextMessage request = producerSession.createTextMessage(xmlText);
-        producer.send(request);
-
-        Message message;
-        // lets consume it as a text message
-        message = textConsumer.receive(timeout);
-        assertNotNull("Should have received a message!", message);
-        assertTrue("Should be a TextMessage but was: " + message, message instanceof TextMessage);
-        TextMessage textMessage = (TextMessage)message;
-        String text = textMessage.getText();
-        assertTrue("Text should be non-empty!", text != null && text.length() > 0);
-
-        // lets consume it as an object message
-        message = objectConsumer.receive(timeout);
-        assertNotNull("Should have received a message!", message);
-        assertTrue("Should be an ObjectMessage but was: " + message, message instanceof ObjectMessage);
-        ObjectMessage objectMessage = (ObjectMessage)message;
-        Object object = objectMessage.getObject();
-        assertTrue("object payload of wrong type: " + object, object instanceof SamplePojo);
-        SamplePojo body = (SamplePojo)object;
-        assertEquals("name", "James", body.getName());
-        assertEquals("city", "London", body.getCity());
-
-    }
-
-    public void testAdaptiveTransform() throws Exception {
-        org.apache.activemq.util.oxm.XStreamMessageTransformer transformer = new org.apache.activemq.util.oxm.XStreamMessageTransformer();
-        transformer.setTransformType(ADAPTIVE);
-        connectionFactory.setTransformer(transformer);
-        connection = connectionFactory.createConnection();
-        connection.start();
-
-        // lets create the consumers
-        Session adaptiveSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-        Destination destination = adaptiveSession.createTopic(getClass().getName());
-        MessageConsumer adaptiveConsumer = adaptiveSession.createConsumer(destination);
-
-        Session origSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-        MessageConsumer origConsumer = origSession.createConsumer(destination);
-        // lets clear the transformer on this consumer so we see the message as
-        // it really is
-        ((ActiveMQMessageConsumer)origConsumer).setTransformer(null);
-
-        // Create producer
-        Session producerSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-        MessageProducer producer = producerSession.createProducer(destination);
-
-        Message message;
-        ObjectMessage objectMessage;
-        TextMessage textMessage;
-        SamplePojo body;
-        Object object;
-        String text;
-
-        // Send a text message
-        String xmlText = "<org.apache.activemq.util.xstream.SamplePojo>" 
-            + "<name>James</name>" 
-            + "<city>London</city>" 
-            + "</org.apache.activemq.util.xstream.SamplePojo>";
-
-        TextMessage txtRequest = producerSession.createTextMessage(xmlText);
-        producer.send(txtRequest);
-
-        // lets consume it as a text message
-        message = adaptiveConsumer.receive(timeout);
-        assertNotNull("Should have received a message!", message);
-        assertTrue("Should be a TextMessage but was: " + message, message instanceof TextMessage);
-        textMessage = (TextMessage)message;
-        text = textMessage.getText();
-        assertTrue("Text should be non-empty!", text != null && text.length() > 0);
-
-        // lets consume it as an object message
-        message = origConsumer.receive(timeout);
-        assertNotNull("Should have received a message!", message);
-        assertTrue("Should be an ObjectMessage but was: " + message, message instanceof ObjectMessage);
-        objectMessage = (ObjectMessage)message;
-        object = objectMessage.getObject();
-        assertTrue("object payload of wrong type: " + object, object instanceof SamplePojo);
-        body = (SamplePojo)object;
-        assertEquals("name", "James", body.getName());
-        assertEquals("city", "London", body.getCity());
-
-        // Send object message
-        ObjectMessage objRequest = producerSession.createObjectMessage(new SamplePojo("James", "London"));
-        producer.send(objRequest);
-
-        // lets consume it as an object message
-        message = adaptiveConsumer.receive(timeout);
-        assertNotNull("Should have received a message!", message);
-        assertTrue("Should be an ObjectMessage but was: " + message, message instanceof ObjectMessage);
-        objectMessage = (ObjectMessage)message;
-        object = objectMessage.getObject();
-        assertTrue("object payload of wrong type: " + object, object instanceof SamplePojo);
-        body = (SamplePojo)object;
-        assertEquals("name", "James", body.getName());
-        assertEquals("city", "London", body.getCity());
-
-        // lets consume it as a text message
-        message = origConsumer.receive(timeout);
-        assertNotNull("Should have received a message!", message);
-        assertTrue("Should be a TextMessage but was: " + message, message instanceof TextMessage);
-        textMessage = (TextMessage)message;
-        text = textMessage.getText();
-        assertTrue("Text should be non-empty!", text != null && text.length() > 0);
-        System.out.println("Received XML...");
-        System.out.println(text);
-
-    }
-    
-    public void testStreamDriverTransform() throws Exception {
-    	org.apache.activemq.util.oxm.XStreamMessageTransformer transformer = new org.apache.activemq.util.oxm.XStreamMessageTransformer();
-        transformer.setTransformType(ADAPTIVE);
-    	transformer.setStreamDriver(new JettisonMappedXmlDriver());
-        connectionFactory.setTransformer(transformer);
-        connection = connectionFactory.createConnection();
-        connection.start();
-
-        // lets create the consumers
-        Session adaptiveSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-        Destination destination = adaptiveSession.createTopic(getClass().getName());
-        MessageConsumer adaptiveConsumer = adaptiveSession.createConsumer(destination);
-
-        Session origSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-        MessageConsumer origConsumer = origSession.createConsumer(destination);
-        // lets clear the transformer on this consumer so we see the message as
-        // it really is
-        ((ActiveMQMessageConsumer)origConsumer).setTransformer(null);
-
-        // Create producer
-        Session producerSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-        MessageProducer producer = producerSession.createProducer(destination);
-
-        Message message;
-        ObjectMessage objectMessage;
-        TextMessage textMessage;
-        SamplePojo body;
-        Object object;
-        String text;
-
-        // Send a text message
-        String xmlText = "{\"org.apache.activemq.util.xstream.SamplePojo\":{\"name\":\"James\",\"city\":\"London\"}}";
-
-        TextMessage txtRequest = producerSession.createTextMessage(xmlText);
-        producer.send(txtRequest);
-
-        // lets consume it as a text message
-        message = adaptiveConsumer.receive(timeout);
-        assertNotNull("Should have received a message!", message);
-        assertTrue("Should be a TextMessage but was: " + message, message instanceof TextMessage);
-        textMessage = (TextMessage)message;
-        text = textMessage.getText();
-        assertTrue("Text should be non-empty!", text != null && text.length() > 0);
-
-        // lets consume it as an object message
-        message = origConsumer.receive(timeout);
-        assertNotNull("Should have received a message!", message);
-        assertTrue("Should be an ObjectMessage but was: " + message, message instanceof ObjectMessage);
-        objectMessage = (ObjectMessage)message;
-        object = objectMessage.getObject();
-        assertTrue("object payload of wrong type: " + object, object instanceof SamplePojo);
-        body = (SamplePojo)object;
-        assertEquals("name", "James", body.getName());
-        assertEquals("city", "London", body.getCity());
-        
-        // Send object message
-        ObjectMessage objRequest = producerSession.createObjectMessage(new SamplePojo("James", "London"));
-        producer.send(objRequest);
-
-        // lets consume it as an object message
-        message = adaptiveConsumer.receive(timeout);
-        assertNotNull("Should have received a message!", message);
-        assertTrue("Should be an ObjectMessage but was: " + message, message instanceof ObjectMessage);
-        objectMessage = (ObjectMessage)message;
-        object = objectMessage.getObject();
-        assertTrue("object payload of wrong type: " + object, object instanceof SamplePojo);
-        body = (SamplePojo)object;
-        assertEquals("name", "James", body.getName());
-        assertEquals("city", "London", body.getCity());
-
-        // lets consume it as a text message
-        message = origConsumer.receive(timeout);
-        assertNotNull("Should have received a message!", message);
-        assertTrue("Should be a TextMessage but was: " + message, message instanceof TextMessage);
-        textMessage = (TextMessage)message;
-        text = textMessage.getText();
-        assertTrue("Text should be non-empty!", text != null && text.length() > 0);
-        System.out.println("Received JSON...");
-        System.out.println(text);
-
-    }
-
-    protected void tearDown() throws Exception {
-        if (connection != null) {
-            connection.close();
-        }
-    }
-}
diff --git a/trash/activemq-optional/src/test/resources/log4j.properties b/trash/activemq-optional/src/test/resources/log4j.properties
deleted file mode 100644
index e6f86f3..0000000
--- a/trash/activemq-optional/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,38 +0,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.
-## ---------------------------------------------------------------------------
-
-#
-# The logging properties used during tests..
-#
-log4j.rootLogger=INFO, out, stdout
-
-log4j.logger.org.apache.activemq.spring=WARN
-#log4j.logger.org.apache.activemq=DEBUG
-#log4j.logger.org.eclipse.jetty.io.nio.ssl=DEBUG
-#log4j.logger.org.apache.http=INFO
-
-# CONSOLE appender not used by default
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c - %m%n
-
-# File appender
-log4j.appender.out=org.apache.log4j.FileAppender
-log4j.appender.out.layout=org.apache.log4j.PatternLayout
-log4j.appender.out.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - %m%n
-log4j.appender.out.file=target/activemq-test.log
-log4j.appender.out.append=true
\ No newline at end of file


Mime
View raw message