ACTIVEMQ6-51 Example server bootstrapping
Project: http://git-wip-us.apache.org/repos/asf/activemq-6/repo Commit: http://git-wip-us.apache.org/repos/asf/activemq-6/commit/a102983d Tree: http://git-wip-us.apache.org/repos/asf/activemq-6/tree/a102983d Diff: http://git-wip-us.apache.org/repos/asf/activemq-6/diff/a102983d Branch: refs/heads/master Commit: a102983d7aa01d44c76c44100cbf9af30c977fa5 Parents: 4f925c5 Author: jbertram <jbert...@redhat.com> Authored: Mon Dec 8 22:31:39 2014 -0600 Committer: jbertram <jbert...@redhat.com> Committed: Wed Dec 10 09:49:13 2014 -0600 ---------------------------------------------------------------------- activemq-maven-plugin/pom.xml | 61 +++++ .../apache/activemq/maven/ActiveMQClient.java | 27 ++ .../activemq/maven/ActiveMQClientPlugin.java | 72 ++++++ .../activemq/maven/ActiveMQStartPlugin.java | 228 ++++++++++++++++ .../activemq/maven/ActiveMQStopPlugin.java | 78 ++++++ .../activemq/maven/InVMNodeManagerServer.java | 73 ++++++ .../org/apache/activemq/maven/PluginUtil.java | 50 ++++ .../activemq/maven/TestClusterManager.java | 52 ++++ .../activemq/maven/TestClusterManagerMBean.java | 29 +++ .../org/apache/activemq/maven/TestNode.java | 49 ++++ .../activemq/server/ActiveMQBootstrap.java | 258 +++++++++++++++++++ .../server/SpawnedActiveMQBootstrap.java | 41 +++ .../activemq/server/SpawnedVMSupport.java | 257 ++++++++++++++++++ examples/core/perf/pom.xml | 4 +- examples/core/vertx-connector/pom.xml | 2 +- .../common/example/ActiveMQExample.java | 16 +- examples/jms/aerogear/pom.xml | 2 +- examples/jms/aerogear/readme.html | 8 +- .../activemq/jms/example/AerogearExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 52 ++++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 61 ----- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../aerogear/src/main/resources/jndi.properties | 3 + examples/jms/applet/pom.xml | 4 +- .../jms/example/HttpStaticFileServer.java | 4 +- .../example/HttpStaticFileServerHandler.java | 36 +-- .../HttpStaticFileServerPipelineFactory.java | 12 +- .../activemq/server0/activemq-configuration.xml | 34 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 41 --- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - examples/jms/application-layer-failover/pom.xml | 14 +- .../ApplicationLayerFailoverExample.java | 9 +- .../activemq/server0/activemq-configuration.xml | 30 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../activemq/server1/activemq-configuration.xml | 31 +++ .../resources/activemq/server1/activemq-jms.xml | 8 + .../activemq/server1/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 39 --- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server1/activemq-configuration.xml | 40 --- .../resources/hornetq/server1/activemq-jms.xml | 8 - .../hornetq/server1/activemq-users.xml | 7 - examples/jms/bridge/pom.xml | 8 +- .../activemq/jms/example/BridgeExample.java | 18 +- .../activemq/server0/activemq-configuration.xml | 67 +++++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../activemq/server1/activemq-configuration.xml | 35 +++ .../resources/activemq/server1/activemq-jms.xml | 8 + .../activemq/server1/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 72 ------ .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server1/activemq-configuration.xml | 44 ---- .../resources/hornetq/server1/activemq-jms.xml | 8 - .../hornetq/server1/activemq-users.xml | 7 - examples/jms/browser/pom.xml | 2 +- .../jms/example/QueueBrowserExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 34 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 42 --- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../browser/src/main/resources/jndi.properties | 3 + examples/jms/client-kickoff/pom.xml | 2 +- .../jms/example/ClientKickoffExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 23 ++ .../resources/activemq/server0/activemq-jms.xml | 5 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 30 --- .../resources/hornetq/server0/activemq-jms.xml | 5 - .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 2 + .../jms/client-side-failoverlistener/pom.xml | 14 +- .../client-side-failoverlistener/readme.html | 2 +- .../ClientSideFailoverListerExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 71 +++++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../activemq/server1/activemq-configuration.xml | 71 +++++ .../resources/activemq/server1/activemq-jms.xml | 8 + .../activemq/server1/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 71 ----- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server1/activemq-configuration.xml | 71 ----- .../resources/hornetq/server1/activemq-jms.xml | 8 - .../hornetq/server1/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 7 + examples/jms/client-side-load-balancing/pom.xml | 28 +- .../example/ClientSideLoadBalancingExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 73 ++++++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../activemq/server1/activemq-configuration.xml | 72 ++++++ .../resources/activemq/server1/activemq-jms.xml | 8 + .../activemq/server1/activemq-users.xml | 7 + .../activemq/server2/activemq-configuration.xml | 72 ++++++ .../resources/activemq/server2/activemq-jms.xml | 8 + .../activemq/server2/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 73 ------ .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server1/activemq-configuration.xml | 72 ------ .../resources/hornetq/server1/activemq-jms.xml | 8 - .../hornetq/server1/activemq-users.xml | 7 - .../hornetq/server2/activemq-configuration.xml | 72 ------ .../resources/hornetq/server2/activemq-jms.xml | 8 - .../hornetq/server2/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 3 + .../jms/clustered-durable-subscription/pom.xml | 18 +- .../ClusteredDurableSubscriptionExample.java | 14 +- .../activemq/server0/activemq-configuration.xml | 75 ++++++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../activemq/server1/activemq-configuration.xml | 76 ++++++ .../resources/activemq/server1/activemq-jms.xml | 8 + .../activemq/server1/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 75 ------ .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server1/activemq-configuration.xml | 76 ------ .../resources/hornetq/server1/activemq-jms.xml | 8 - .../hornetq/server1/activemq-users.xml | 7 - examples/jms/clustered-grouping/pom.xml | 16 +- .../jms/example/ClusteredGroupingExample.java | 25 +- .../activemq/server0/activemq-configuration.xml | 83 ++++++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../activemq/server1/activemq-configuration.xml | 80 ++++++ .../resources/activemq/server1/activemq-jms.xml | 8 + .../activemq/server1/activemq-users.xml | 7 + .../activemq/server2/activemq-configuration.xml | 80 ++++++ .../resources/activemq/server2/activemq-jms.xml | 8 + .../activemq/server2/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 83 ------ .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server1/activemq-configuration.xml | 80 ------ .../resources/hornetq/server1/activemq-jms.xml | 8 - .../hornetq/server1/activemq-users.xml | 7 - .../hornetq/server2/activemq-configuration.xml | 80 ------ .../resources/hornetq/server2/activemq-jms.xml | 8 - .../hornetq/server2/activemq-users.xml | 7 - examples/jms/clustered-jgroups/pom.xml | 10 +- .../jms/example/ClusteredJgroupsExample.java | 13 +- .../activemq/server0/activemq-configuration.xml | 76 ++++++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../activemq/server0/client-jndi.properties | 2 + .../activemq/server0/test-jgroups-file_ping.xml | 52 ++++ .../activemq/server1/activemq-configuration.xml | 75 ++++++ .../resources/activemq/server1/activemq-jms.xml | 8 + .../activemq/server1/activemq-users.xml | 7 + .../activemq/server1/client-jndi.properties | 2 + .../activemq/server1/test-jgroups-file_ping.xml | 52 ++++ .../hornetq/server0/activemq-configuration.xml | 76 ------ .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server0/client-jndi.properties | 2 - .../hornetq/server0/test-jgroups-file_ping.xml | 52 ---- .../hornetq/server1/activemq-configuration.xml | 75 ------ .../resources/hornetq/server1/activemq-jms.xml | 8 - .../hornetq/server1/activemq-users.xml | 7 - .../hornetq/server1/client-jndi.properties | 2 - .../hornetq/server1/test-jgroups-file_ping.xml | 52 ---- examples/jms/clustered-queue/pom.xml | 10 +- .../jms/example/ClusteredQueueExample.java | 13 +- .../activemq/server0/activemq-configuration.xml | 74 ++++++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../activemq/server1/activemq-configuration.xml | 75 ++++++ .../resources/activemq/server1/activemq-jms.xml | 8 + .../activemq/server1/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 74 ------ .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server1/activemq-configuration.xml | 75 ------ .../resources/hornetq/server1/activemq-jms.xml | 8 - .../hornetq/server1/activemq-users.xml | 7 - examples/jms/clustered-standalone/pom.xml | 16 +- .../jms/example/ClusteredStandaloneExample.java | 39 ++- .../activemq/server0/activemq-configuration.xml | 74 ++++++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../activemq/server1/activemq-configuration.xml | 75 ++++++ .../resources/activemq/server1/activemq-jms.xml | 8 + .../activemq/server1/activemq-users.xml | 7 + .../activemq/server2/activemq-configuration.xml | 75 ++++++ .../resources/activemq/server2/activemq-jms.xml | 8 + .../activemq/server2/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 74 ------ .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server1/activemq-configuration.xml | 75 ------ .../resources/hornetq/server1/activemq-jms.xml | 9 - .../hornetq/server1/activemq-users.xml | 7 - .../hornetq/server2/activemq-configuration.xml | 75 ------ .../resources/hornetq/server2/activemq-jms.xml | 8 - .../hornetq/server2/activemq-users.xml | 7 - examples/jms/clustered-static-discovery/pom.xml | 22 +- .../example/StaticClusteredQueueExample.java | 10 +- .../activemq/server0/activemq-configuration.xml | 64 +++++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../activemq/server1/activemq-configuration.xml | 64 +++++ .../resources/activemq/server1/activemq-jms.xml | 8 + .../activemq/server1/activemq-users.xml | 7 + .../activemq/server2/activemq-configuration.xml | 81 ++++++ .../resources/activemq/server2/activemq-jms.xml | 25 ++ .../activemq/server2/activemq-users.xml | 7 + .../activemq/server3/activemq-configuration.xml | 81 ++++++ .../resources/activemq/server3/activemq-jms.xml | 25 ++ .../activemq/server3/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 64 ----- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server1/activemq-configuration.xml | 64 ----- .../resources/hornetq/server1/activemq-jms.xml | 8 - .../hornetq/server1/activemq-users.xml | 7 - .../hornetq/server2/activemq-configuration.xml | 81 ------ .../resources/hornetq/server2/activemq-jms.xml | 25 -- .../hornetq/server2/activemq-users.xml | 7 - .../hornetq/server3/activemq-configuration.xml | 81 ------ .../resources/hornetq/server3/activemq-jms.xml | 25 -- .../hornetq/server3/activemq-users.xml | 7 - examples/jms/clustered-static-oneway/pom.xml | 16 +- .../jms/example/ClusterStaticOnewayExample.java | 8 +- .../activemq/server0/activemq-configuration.xml | 81 ++++++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../activemq/server1/activemq-configuration.xml | 81 ++++++ .../resources/activemq/server1/activemq-jms.xml | 8 + .../activemq/server1/activemq-users.xml | 7 + .../activemq/server2/activemq-configuration.xml | 73 ++++++ .../resources/activemq/server2/activemq-jms.xml | 25 ++ .../activemq/server2/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 81 ------ .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server1/activemq-configuration.xml | 81 ------ .../resources/hornetq/server1/activemq-jms.xml | 8 - .../hornetq/server1/activemq-users.xml | 7 - .../hornetq/server2/activemq-configuration.xml | 73 ------ .../resources/hornetq/server2/activemq-jms.xml | 25 -- .../hornetq/server2/activemq-users.xml | 7 - examples/jms/clustered-topic/pom.xml | 10 +- .../jms/example/ClusteredTopicExample.java | 13 +- .../activemq/server0/activemq-configuration.xml | 76 ++++++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../activemq/server1/activemq-configuration.xml | 74 ++++++ .../resources/activemq/server1/activemq-jms.xml | 8 + .../activemq/server1/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 76 ------ .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server1/activemq-configuration.xml | 74 ------ .../resources/hornetq/server1/activemq-jms.xml | 8 - .../hornetq/server1/activemq-users.xml | 7 - .../jms/colocated-failover-scale-down/pom.xml | 10 +- .../ColocatedFailoverScaleDownExample.java | 18 +- .../activemq/server0/activemq-configuration.xml | 110 ++++++++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../activemq/server1/activemq-configuration.xml | 111 ++++++++ .../resources/activemq/server1/activemq-jms.xml | 8 + .../activemq/server1/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 99 ------- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server1/activemq-configuration.xml | 100 ------- .../resources/hornetq/server1/activemq-jms.xml | 8 - .../hornetq/server1/activemq-users.xml | 7 - examples/jms/colocated-failover/pom.xml | 14 +- .../jms/example/ColocatedFailoverExample.java | 18 +- .../activemq/server0/activemq-configuration.xml | 90 +++++++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../activemq/server1/activemq-configuration.xml | 90 +++++++ .../resources/activemq/server1/activemq-jms.xml | 7 + .../activemq/server1/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 90 ------- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server1/activemq-configuration.xml | 90 ------- .../resources/hornetq/server1/activemq-jms.xml | 7 - .../hornetq/server1/activemq-users.xml | 7 - examples/jms/consumer-rate-limit/pom.xml | 2 +- .../jms/example/ConsumerRateLimitExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 34 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 42 --- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server0/client-jndi.properties | 2 - .../src/main/resources/jndi.properties | 4 + examples/jms/dead-letter/pom.xml | 2 +- .../activemq/jms/example/DeadLetterExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 42 +++ .../resources/activemq/server0/activemq-jms.xml | 11 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 50 ---- .../resources/hornetq/server0/activemq-jms.xml | 11 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server0/client-jndi.properties | 2 - .../src/main/resources/jndi.properties | 4 + examples/jms/delayed-redelivery/pom.xml | 2 +- .../jms/example/DelayedRedeliveryExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 41 +++ .../resources/activemq/server0/activemq-jms.xml | 11 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 49 ---- .../resources/hornetq/server0/activemq-jms.xml | 11 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server0/client-jndi.properties | 2 - .../src/main/resources/jndi.properties | 3 + examples/jms/divert/pom.xml | 10 +- .../activemq/jms/example/DivertExample.java | 16 +- .../activemq/server0/activemq-configuration.xml | 90 +++++++ .../resources/activemq/server0/activemq-jms.xml | 18 ++ .../activemq/server0/activemq-users.xml | 7 + .../activemq/server1/activemq-configuration.xml | 36 +++ .../resources/activemq/server1/activemq-jms.xml | 11 + .../activemq/server1/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 96 ------- .../resources/hornetq/server0/activemq-jms.xml | 18 -- .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server1/activemq-configuration.xml | 45 ---- .../resources/hornetq/server1/activemq-jms.xml | 11 - .../hornetq/server1/activemq-users.xml | 7 - examples/jms/durable-subscription/pom.xml | 2 +- .../jms/example/DurableSubscriptionExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 36 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 44 ---- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server0/client-jndi.properties | 2 - .../src/main/resources/jndi.properties | 3 + examples/jms/embedded-simple/pom.xml | 2 +- .../activemq/jms/example/EmbeddedExample.java | 9 + .../main/resources/activemq-configuration.xml | 7 - .../activemq/jms/example/EmbeddedExample.java | 12 +- examples/jms/expiry/pom.xml | 2 +- .../activemq/jms/example/ExpiryExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 41 +++ .../resources/activemq/server0/activemq-jms.xml | 11 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 50 ---- .../resources/hornetq/server0/activemq-jms.xml | 11 - .../hornetq/server0/activemq-users.xml | 7 - .../expiry/src/main/resources/jndi.properties | 4 + examples/jms/ha-policy-autobackup/pom.xml | 8 +- .../jms/example/HAPolicyAutoBackupExample.java | 22 +- .../activemq/server0/activemq-configuration.xml | 93 +++++++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../activemq/server1/activemq-configuration.xml | 93 +++++++ .../resources/activemq/server1/activemq-jms.xml | 8 + .../activemq/server1/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 93 ------- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server1/activemq-configuration.xml | 93 ------- .../hornetq/server1/activemq-users.xml | 7 - examples/jms/http-transport/pom.xml | 2 +- .../jms/example/HttpTransportExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 36 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 46 ---- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 3 + .../jms/instantiate-connection-factory/pom.xml | 2 +- .../activemq/server0/activemq-configuration.xml | 35 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 45 ---- .../resources/hornetq/server0/activemq-jms.xml | 10 - .../hornetq/server0/activemq-users.xml | 7 - examples/jms/interceptor/pom.xml | 2 +- .../jms/example/InterceptorExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 39 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 47 ---- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 3 + examples/jms/jaas/pom.xml | 3 +- .../activemq/jms/example/JAASExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 34 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../hornetq/server0/activemq-configuration.xml | 43 ---- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../jms/jaas/src/main/resources/jndi.properties | 3 + examples/jms/jms-auto-closeable/pom.xml | 5 +- .../jms/example/JMSAutoCloseableExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 33 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 42 --- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 3 + examples/jms/jms-bridge/pom.xml | 10 +- .../activemq/jms/example/JMSBridgeExample.java | 12 +- .../activemq/server0/activemq-configuration.xml | 28 ++ .../resources/activemq/server0/activemq-jms.xml | 7 + .../activemq/server0/activemq-users.xml | 7 + .../activemq/server1/activemq-configuration.xml | 31 +++ .../resources/activemq/server1/activemq-jms.xml | 7 + .../activemq/server1/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 35 --- .../resources/hornetq/server0/activemq-jms.xml | 7 - .../resources/hornetq/server0/hornetq-users.xml | 7 - .../hornetq/server1/activemq-configuration.xml | 42 --- .../resources/hornetq/server1/activemq-jms.xml | 7 - .../hornetq/server1/activemq-users.xml | 7 - examples/jms/jms-completion-listener/pom.xml | 5 +- .../example/JMSCompletionListenerExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 34 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 43 ---- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 3 + examples/jms/jms-context/pom.xml | 5 +- .../activemq/jms/example/JMSContextExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 34 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 43 ---- .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 3 + examples/jms/jms-shared-consumer/pom.xml | 2 +- .../jms/example/JMSSharedConsumerExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 34 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 43 ---- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 3 + examples/jms/jmx/pom.xml | 5 +- .../apache/activemq/jms/example/JMXExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 38 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 45 ---- .../resources/hornetq/server0/activemq-jms.xml | 9 - .../hornetq/server0/activemq-users.xml | 7 - .../jms/jmx/src/main/resources/jndi.properties | 3 + examples/jms/large-message/pom.xml | 5 +- .../jms/example/LargeMessageExample.java | 8 +- .../activemq/server0/activemq-configuration.xml | 34 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 42 --- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 3 + examples/jms/last-value-queue/pom.xml | 5 +- .../jms/example/LastValueQueueExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 41 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 50 ---- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 3 + examples/jms/management-notifications/pom.xml | 5 +- .../example/ManagementNotificationExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 52 ++++ .../resources/activemq/server0/activemq-jms.xml | 11 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 58 ----- .../resources/hornetq/server0/activemq-jms.xml | 11 - .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 4 + examples/jms/management/pom.xml | 5 +- .../activemq/jms/example/ManagementExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 50 ++++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 56 ---- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 3 + examples/jms/message-counters/pom.xml | 5 +- .../jms/example/MessageCounterExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 57 ++++ .../resources/activemq/server0/activemq-jms.xml | 11 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 64 ----- .../resources/hornetq/server0/activemq-jms.xml | 11 - .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 4 + examples/jms/message-group/pom.xml | 5 +- .../jms/example/MessageGroupExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 34 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 42 --- .../hornetq/server0/activemq-users.xml | 7 - .../resources/hornetq/server0/hornetq-jms.xml | 8 - .../src/main/resources/jndi.properties | 3 + examples/jms/message-group2/pom.xml | 5 +- .../jms/example/MessageGroup2Example.java | 2 +- .../activemq/server0/activemq-configuration.xml | 34 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 42 --- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 4 + examples/jms/message-priority/pom.xml | 5 +- .../jms/example/MessagePriorityExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 34 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 42 --- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 3 + examples/jms/multiple-failover-failback/pom.xml | 21 +- .../MultipleFailoverFailbackExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 71 +++++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../activemq/server1/activemq-configuration.xml | 71 +++++ .../resources/activemq/server1/activemq-jms.xml | 8 + .../activemq/server1/activemq-users.xml | 7 + .../activemq/server2/activemq-configuration.xml | 72 ++++++ .../resources/activemq/server2/activemq-jms.xml | 8 + .../activemq/server2/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 71 ----- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server1/activemq-configuration.xml | 71 ----- .../resources/hornetq/server1/activemq-jms.xml | 8 - .../hornetq/server1/activemq-users.xml | 7 - .../hornetq/server2/activemq-configuration.xml | 72 ------ .../resources/hornetq/server2/activemq-jms.xml | 8 - .../hornetq/server2/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 7 + examples/jms/multiple-failover/pom.xml | 21 +- .../jms/example/MultipleFailoverExample.java | 3 +- .../activemq/server0/activemq-configuration.xml | 73 ++++++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../activemq/server1/activemq-configuration.xml | 71 +++++ .../resources/activemq/server1/activemq-jms.xml | 8 + .../activemq/server1/activemq-users.xml | 7 + .../activemq/server2/activemq-configuration.xml | 71 +++++ .../resources/activemq/server2/activemq-jms.xml | 8 + .../activemq/server2/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 73 ------ .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server1/activemq-configuration.xml | 71 ----- .../resources/hornetq/server1/activemq-jms.xml | 8 - .../hornetq/server1/activemq-users.xml | 7 - .../hornetq/server2/activemq-configuration.xml | 71 ----- .../resources/hornetq/server2/activemq-jms.xml | 8 - .../hornetq/server2/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 7 + examples/jms/no-consumer-buffering/pom.xml | 5 +- .../jms/example/NoConsumerBufferingExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 34 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 43 ---- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 4 + examples/jms/non-transaction-failover/pom.xml | 20 +- .../example/NonTransactionFailoverExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 71 +++++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../activemq/server1/activemq-configuration.xml | 72 ++++++ .../resources/activemq/server1/activemq-jms.xml | 8 + .../activemq/server1/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 71 ----- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server1/activemq-configuration.xml | 72 ------ .../resources/hornetq/server1/activemq-jms.xml | 8 - .../hornetq/server1/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 7 + examples/jms/openwire/pom.xml | 5 +- .../activemq/server0/activemq-configuration.xml | 50 ++++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 50 ---- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - examples/jms/paging/pom.xml | 5 +- .../activemq/jms/example/PagingExample.java | 4 +- .../activemq/server0/activemq-configuration.xml | 67 +++++ .../resources/activemq/server0/activemq-jms.xml | 10 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 67 ----- .../resources/hornetq/server0/activemq-jms.xml | 10 - .../hornetq/server0/activemq-users.xml | 7 - .../paging/src/main/resources/jndi.properties | 4 + examples/jms/perf/pom.xml | 4 +- .../apache/activemq/jms/example/PerfBase.java | 48 +--- .../activemq/jms/example/PerfListener.java | 10 +- .../apache/activemq/jms/example/PerfSender.java | 10 +- .../activemq/server0/activemq-configuration.xml | 24 ++ .../resources/activemq/server0/activemq-jms.xml | 7 + .../src/main/resources/client.jndi.properties | 2 - .../hornetq/server0/activemq-configuration.xml | 34 --- .../resources/hornetq/server0/activemq-jms.xml | 7 - .../hornetq-configuration-messaging-lab.xml | 32 --- .../jms/perf/src/main/resources/jndi.properties | 3 + .../jms/perf/src/main/resources/perf.properties | 2 +- examples/jms/pre-acknowledge/pom.xml | 2 +- .../jms/example/PreacknowledgeExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 37 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 46 ---- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 3 + examples/jms/producer-rate-limit/pom.xml | 5 +- .../jms/example/ProducerRateLimitExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 34 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 43 ---- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 4 + examples/jms/proton-cpp/pom.xml | 4 +- .../activemq/server0/activemq-configuration.xml | 35 +++ .../resources/activemq/server0/activemq-jms.xml | 10 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 35 --- .../resources/hornetq/server0/activemq-jms.xml | 10 - .../hornetq/server0/activemq-users.xml | 7 - examples/jms/proton-j/pom.xml | 2 +- .../activemq/server0/activemq-configuration.xml | 42 +++ .../resources/activemq/server0/activemq-jms.xml | 10 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 42 --- .../resources/hornetq/server0/activemq-jms.xml | 10 - .../hornetq/server0/activemq-users.xml | 7 - examples/jms/proton-ruby/pom.xml | 2 +- .../activemq/server0/activemq-configuration.xml | 41 +++ .../resources/activemq/server0/activemq-jms.xml | 9 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 41 --- .../resources/hornetq/server0/activemq-jms.xml | 9 - .../hornetq/server0/activemq-users.xml | 7 - .../jms/queue-message-redistribution/pom.xml | 10 +- .../QueueMessageRedistributionExample.java | 13 +- .../activemq/server0/activemq-configuration.xml | 86 +++++++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../activemq/server1/activemq-configuration.xml | 87 +++++++ .../resources/activemq/server1/activemq-jms.xml | 8 + .../activemq/server1/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 86 ------- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server1/activemq-configuration.xml | 87 ------- .../resources/hornetq/server1/activemq-jms.xml | 8 - .../hornetq/server1/activemq-users.xml | 7 - examples/jms/queue-requestor/pom.xml | 5 +- .../jms/example/QueueRequestorExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 41 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 50 ---- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 3 + examples/jms/queue-selector/pom.xml | 5 +- .../jms/example/QueueSelectorExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 33 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 41 --- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 3 + examples/jms/queue/pom.xml | 6 +- .../activemq/jms/example/QueueExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 34 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 43 ---- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../queue/src/main/resources/jndi.properties | 3 + examples/jms/reattach-node/pom.xml | 7 +- .../activemq/jms/example/ReattachExample.java | 24 +- .../activemq/server0/activemq-configuration.xml | 66 +++++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 11 + .../hornetq/server0/activemq-configuration.xml | 66 ----- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 11 - .../src/main/resources/jndi.properties | 8 + examples/jms/replicated-failback-static/pom.xml | 14 +- .../ReplicatedFailbackStaticExample.java | 4 +- .../activemq/server0/activemq-configuration.xml | 68 +++++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../activemq/server1/activemq-configuration.xml | 70 +++++ .../resources/activemq/server1/activemq-jms.xml | 8 + .../activemq/server1/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 69 ----- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server1/activemq-configuration.xml | 70 ----- .../resources/hornetq/server1/activemq-jms.xml | 8 - .../hornetq/server1/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 7 + examples/jms/replicated-failback/pom.xml | 14 +- .../jms/example/ReplicatedFailbackExample.java | 4 +- .../activemq/server0/activemq-configuration.xml | 79 ++++++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../activemq/server1/activemq-configuration.xml | 83 ++++++ .../resources/activemq/server1/activemq-jms.xml | 8 + .../activemq/server1/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 80 ------ .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server1/activemq-configuration.xml | 83 ------ .../resources/hornetq/server1/activemq-jms.xml | 8 - .../hornetq/server1/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 7 + .../jms/replicated-multiple-failover/pom.xml | 21 +- .../ReplicatedMultipleFailoverExample.java | 6 +- .../activemq/server0/activemq-configuration.xml | 73 ++++++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../activemq/server1/activemq-configuration.xml | 73 ++++++ .../resources/activemq/server1/activemq-jms.xml | 8 + .../activemq/server1/activemq-users.xml | 7 + .../activemq/server2/activemq-configuration.xml | 72 ++++++ .../resources/activemq/server2/activemq-jms.xml | 8 + .../activemq/server2/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 73 ------ .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server1/activemq-configuration.xml | 77 ------ .../resources/hornetq/server1/activemq-jms.xml | 8 - .../hornetq/server1/activemq-users.xml | 7 - .../hornetq/server2/activemq-configuration.xml | 76 ------ .../resources/hornetq/server2/activemq-jms.xml | 8 - .../hornetq/server2/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 7 + .../jms/replicated-transaction-failover/pom.xml | 14 +- .../ReplicatedTransactionFailoverExample.java | 4 +- .../activemq/server0/activemq-configuration.xml | 74 ++++++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../activemq/server1/activemq-configuration.xml | 75 ++++++ .../resources/activemq/server1/activemq-jms.xml | 8 + .../activemq/server1/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 74 ------ .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server1/activemq-configuration.xml | 79 ------ .../resources/hornetq/server1/activemq-jms.xml | 8 - .../hornetq/server1/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 7 + examples/jms/request-reply/pom.xml | 5 +- .../jms/example/RequestReplyExample.java | 4 +- .../activemq/server0/activemq-configuration.xml | 41 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 49 ---- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 7 + .../src/main/resources/activemq-client.xml | 12 + .../src/main/resources/activemq-rest.xml | 3 + .../src/main/resources/hornetq-client.xml | 12 - .../src/main/resources/hornetq-rest.xml | 3 - .../src/main/resources/activemq-client.xml | 12 + .../src/main/resources/hornetq-client.xml | 12 - .../push/src/main/resources/activemq-client.xml | 12 + .../push/src/main/resources/hornetq-client.xml | 12 - examples/jms/scale-down/pom.xml | 14 +- .../activemq/jms/example/ScaleDownExample.java | 26 +- .../activemq/server0/activemq-configuration.xml | 96 +++++++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../activemq/server1/activemq-configuration.xml | 91 +++++++ .../resources/activemq/server1/activemq-jms.xml | 8 + .../activemq/server1/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 100 ------- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server1/activemq-configuration.xml | 91 ------- .../resources/hornetq/server1/activemq-jms.xml | 8 - .../hornetq/server1/activemq-users.xml | 7 - examples/jms/scheduled-message/pom.xml | 5 +- .../jms/example/ScheduledMessageExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 34 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 42 --- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 3 + examples/jms/security/pom.xml | 5 +- .../activemq/jms/example/SecurityExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 52 ++++ .../resources/activemq/server0/activemq-jms.xml | 11 + .../activemq/server0/activemq-users.xml | 25 ++ .../hornetq/server0/activemq-configuration.xml | 60 ----- .../resources/hornetq/server0/activemq-jms.xml | 11 - .../hornetq/server0/activemq-users.xml | 25 -- .../security/src/main/resources/jndi.properties | 5 + examples/jms/send-acknowledgements/pom.xml | 5 +- .../example/SendAcknowledgementsExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 34 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 43 ---- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 4 + examples/jms/spring-integration/pom.xml | 5 +- .../main/resources/activemq-configuration.xml | 7 - .../src/main/resources/spring-jms-beans.xml | 38 ++- examples/jms/ssl-enabled/pom.xml | 5 +- .../apache/activemq/jms/example/SSLExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 39 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../activemq/server0/activemq.example.keystore | Bin 0 -> 1273 bytes .../server0/activemq.example.truststore | Bin 0 -> 866 bytes .../hornetq/server0/activemq-configuration.xml | 53 ---- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server0/hornetq.example.keystore | Bin 1259 -> 0 bytes .../hornetq/server0/hornetq.example.truststore | Bin 852 -> 0 bytes .../src/main/resources/jndi.properties | 3 + examples/jms/static-selector-jms/pom.xml | 2 +- .../jms/example/StaticSelectorJMSExample.java | 7 +- .../activemq/server0/activemq-configuration.xml | 34 +++ .../resources/activemq/server0/activemq-jms.xml | 10 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 42 --- .../resources/hornetq/server0/activemq-jms.xml | 10 - .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 3 + examples/jms/static-selector/pom.xml | 5 +- examples/jms/static-selector/readme.html | 2 +- .../jms/example/StaticSelectorExample.java | 7 +- .../activemq/server0/activemq-configuration.xml | 41 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 49 ---- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 3 + examples/jms/stomp-websockets/pom.xml | 4 +- .../jms/example/StompWebSocketExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 41 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 49 ---- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 3 + examples/jms/stomp/pom.xml | 5 +- .../activemq/jms/example/StompExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 42 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 51 ---- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../stomp/src/main/resources/jndi.properties | 3 + examples/jms/stomp1.1/pom.xml | 5 +- .../activemq/jms/example/StompExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 42 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 51 ---- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../stomp1.1/src/main/resources/jndi.properties | 3 + examples/jms/stomp1.2/pom.xml | 5 +- .../activemq/jms/example/StompExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 42 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 51 ---- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../stomp1.2/src/main/resources/jndi.properties | 3 + examples/jms/stop-server-failover/pom.xml | 8 +- .../jms/example/StopServerFailoverExample.java | 4 +- .../activemq/server0/activemq-configuration.xml | 72 ++++++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../activemq/server1/activemq-configuration.xml | 72 ++++++ .../resources/activemq/server1/activemq-jms.xml | 8 + .../activemq/server1/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 72 ------ .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server1/activemq-configuration.xml | 72 ------ .../resources/hornetq/server1/activemq-jms.xml | 8 - .../hornetq/server1/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 7 + examples/jms/symmetric-cluster/pom.xml | 24 +- .../activemq/server0/activemq-configuration.xml | 78 ++++++ .../resources/activemq/server0/activemq-jms.xml | 9 + .../activemq/server0/activemq-users.xml | 7 + .../activemq/server1/activemq-configuration.xml | 76 ++++++ .../resources/activemq/server1/activemq-jms.xml | 9 + .../activemq/server1/activemq-users.xml | 7 + .../activemq/server2/activemq-configuration.xml | 76 ++++++ .../resources/activemq/server2/activemq-jms.xml | 9 + .../activemq/server2/activemq-users.xml | 7 + .../activemq/server3/activemq-configuration.xml | 76 ++++++ .../resources/activemq/server3/activemq-jms.xml | 9 + .../activemq/server3/activemq-users.xml | 7 + .../activemq/server4/activemq-configuration.xml | 75 ++++++ .../resources/activemq/server4/activemq-jms.xml | 9 + .../activemq/server4/activemq-users.xml | 7 + .../activemq/server5/activemq-configuration.xml | 75 ++++++ .../resources/activemq/server5/activemq-jms.xml | 9 + .../activemq/server5/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 78 ------ .../resources/hornetq/server0/activemq-jms.xml | 9 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server1/activemq-configuration.xml | 76 ------ .../resources/hornetq/server1/activemq-jms.xml | 9 - .../hornetq/server1/activemq-users.xml | 7 - .../hornetq/server2/activemq-configuration.xml | 76 ------ .../resources/hornetq/server2/activemq-jms.xml | 9 - .../hornetq/server2/activemq-users.xml | 7 - .../hornetq/server3/activemq-configuration.xml | 76 ------ .../resources/hornetq/server3/activemq-jms.xml | 9 - .../hornetq/server3/activemq-users.xml | 7 - .../hornetq/server4/activemq-configuration.xml | 75 ------ .../resources/hornetq/server4/activemq-jms.xml | 9 - .../hornetq/server4/activemq-users.xml | 7 - .../hornetq/server5/activemq-configuration.xml | 75 ------ .../resources/hornetq/server5/activemq-jms.xml | 9 - .../hornetq/server5/activemq-users.xml | 7 - examples/jms/temp-queue/pom.xml | 5 +- .../jms/example/TemporaryQueueExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 50 ++++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 50 ---- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 3 + examples/jms/topic-hierarchies/pom.xml | 5 +- .../jms/example/TopicHierarchyExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 34 +++ .../resources/activemq/server0/activemq-jms.xml | 19 ++ .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 43 ---- .../resources/hornetq/server0/activemq-jms.xml | 19 -- .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 2 + examples/jms/topic-selector-example1/pom.xml | 5 +- .../jms/example/TopicSelectorExample1.java | 2 +- .../activemq/server0/activemq-configuration.xml | 34 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 42 --- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 3 + examples/jms/topic-selector-example2/pom.xml | 5 +- .../jms/example/TopicSelectorExample2.java | 2 +- .../activemq/server0/activemq-configuration.xml | 34 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 42 --- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 3 + examples/jms/topic/pom.xml | 2 +- .../activemq/jms/example/TopicExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 34 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 42 --- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server0/client-jndi.properties | 2 - .../topic/src/main/resources/jndi.properties | 3 + examples/jms/transaction-failover/pom.xml | 14 +- .../jms/example/TransactionFailoverExample.java | 4 +- .../activemq/server0/activemq-configuration.xml | 74 ++++++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../activemq/server1/activemq-configuration.xml | 74 ++++++ .../resources/activemq/server1/activemq-jms.xml | 8 + .../activemq/server1/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 74 ------ .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../hornetq/server1/activemq-configuration.xml | 74 ------ .../resources/hornetq/server1/activemq-jms.xml | 8 - .../hornetq/server1/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 7 + examples/jms/transactional/pom.xml | 5 +- .../jms/example/TransactionalExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 34 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 42 --- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 3 + examples/jms/xa-heuristic/pom.xml | 5 +- .../jms/example/XAHeuristicExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 34 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 42 --- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 3 + examples/jms/xa-receive/pom.xml | 5 +- .../activemq/jms/example/XAReceiveExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 34 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 42 --- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 3 + examples/jms/xa-send/pom.xml | 5 +- .../activemq/jms/example/XASendExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 34 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 42 --- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../xa-send/src/main/resources/jndi.properties | 3 + examples/jms/xa-with-jta/pom.xml | 10 +- .../activemq/jms/example/XAwithJTAExample.java | 2 +- .../activemq/server0/activemq-configuration.xml | 34 +++ .../resources/activemq/server0/activemq-jms.xml | 8 + .../activemq/server0/activemq-users.xml | 7 + .../hornetq/server0/activemq-configuration.xml | 42 --- .../resources/hornetq/server0/activemq-jms.xml | 8 - .../hornetq/server0/activemq-users.xml | 7 - .../src/main/resources/jndi.properties | 3 + examples/soak/normal/pom.xml | 6 +- pom.xml | 7 +- 1077 files changed, 11946 insertions(+), 11085 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/activemq-6/blob/a102983d/activemq-maven-plugin/pom.xml ---------------------------------------------------------------------- diff --git a/activemq-maven-plugin/pom.xml b/activemq-maven-plugin/pom.xml new file mode 100644 index 0000000..2b3fac5 --- /dev/null +++ b/activemq-maven-plugin/pom.xml @@ -0,0 +1,61 @@ +<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-pom</artifactId> + <version>6.0.0-SNAPSHOT</version> + </parent> + + <artifactId>activemq-maven-plugin</artifactId> + <packaging>maven-plugin</packaging> + <name>ActiveMQ6 Maven Plugin</name> + + <properties> + <activemq.basedir>${project.basedir}/..</activemq.basedir> + </properties> + + <dependencies> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-plugin-api</artifactId> + <version>2.0</version> + </dependency> + <dependency> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <version>2.0</version> + </dependency> + <dependency> + <groupId>org.apache.activemq</groupId> + <artifactId>activemq-server</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.activemq</groupId> + <artifactId>activemq-jms-server</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>io.netty</groupId> + <artifactId>netty-all</artifactId> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.0</version> + <configuration> + <showWarnings>true</showWarnings> + <source>1.6</source> + <target>1.6</target> + </configuration> + </plugin> + </plugins> + </build> + +</project> http://git-wip-us.apache.org/repos/asf/activemq-6/blob/a102983d/activemq-maven-plugin/src/main/java/org/apache/activemq/maven/ActiveMQClient.java ---------------------------------------------------------------------- diff --git a/activemq-maven-plugin/src/main/java/org/apache/activemq/maven/ActiveMQClient.java b/activemq-maven-plugin/src/main/java/org/apache/activemq/maven/ActiveMQClient.java new file mode 100644 index 0000000..8327e54 --- /dev/null +++ b/activemq-maven-plugin/src/main/java/org/apache/activemq/maven/ActiveMQClient.java @@ -0,0 +1,27 @@ +/** + * 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.maven; + +/** + * @author <a href="mailto:andy.tay...@jboss.com">Andy Taylor</a> + * Date: 8/18/11 + * Time: 2:35 PM + */ +public interface ActiveMQClient +{ + void run(); +} http://git-wip-us.apache.org/repos/asf/activemq-6/blob/a102983d/activemq-maven-plugin/src/main/java/org/apache/activemq/maven/ActiveMQClientPlugin.java ---------------------------------------------------------------------- diff --git a/activemq-maven-plugin/src/main/java/org/apache/activemq/maven/ActiveMQClientPlugin.java b/activemq-maven-plugin/src/main/java/org/apache/activemq/maven/ActiveMQClientPlugin.java new file mode 100644 index 0000000..b964f4b --- /dev/null +++ b/activemq-maven-plugin/src/main/java/org/apache/activemq/maven/ActiveMQClientPlugin.java @@ -0,0 +1,72 @@ +/** + * 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.maven; + +import java.lang.reflect.Method; +import java.util.Properties; + +import org.apache.maven.plugin.AbstractMojo; +import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.plugin.MojoFailureException; + +/** + * @author <a href="mailto:andy.tay...@jboss.com">Andy Taylor</a> + * + * Allows a Java Client to be run which must hve a static main(String[] args) method + */ + +/** + * @phase verify + * @goal runClient + */ +public class ActiveMQClientPlugin extends AbstractMojo +{ + + /** + * @parameter + */ + String clientClass; + + /** + * @parameter + */ + String[] args; + + /** + * @parameter + */ + private Properties systemProperties; + + public void execute() throws MojoExecutionException, MojoFailureException + { + try + { + if (systemProperties != null && !systemProperties.isEmpty()) + { + System.getProperties().putAll(systemProperties); + } + Class aClass = Class.forName(clientClass); + Method method = aClass.getDeclaredMethod("main", new Class[]{String[].class}); + method.invoke(null, new Object[]{args}); + } + catch (Exception e) + { + e.printStackTrace(); + throw new MojoFailureException(e.getMessage()); + } + } +} http://git-wip-us.apache.org/repos/asf/activemq-6/blob/a102983d/activemq-maven-plugin/src/main/java/org/apache/activemq/maven/ActiveMQStartPlugin.java ---------------------------------------------------------------------- diff --git a/activemq-maven-plugin/src/main/java/org/apache/activemq/maven/ActiveMQStartPlugin.java b/activemq-maven-plugin/src/main/java/org/apache/activemq/maven/ActiveMQStartPlugin.java new file mode 100644 index 0000000..5bc91aa --- /dev/null +++ b/activemq-maven-plugin/src/main/java/org/apache/activemq/maven/ActiveMQStartPlugin.java @@ -0,0 +1,228 @@ +/** + * 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.maven; + +import javax.management.MBeanServer; +import javax.management.ObjectName; +import java.io.File; +import java.lang.management.ManagementFactory; +import java.util.Arrays; +import java.util.Properties; + +import org.apache.activemq.server.ActiveMQBootstrap; +import org.apache.activemq.server.SpawnedActiveMQBootstrap; +import org.apache.activemq.server.SpawnedVMSupport; +import org.apache.activemq.spi.core.security.ActiveMQSecurityManager; +import org.apache.maven.plugin.AbstractMojo; +import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.plugin.descriptor.PluginDescriptor; +import org.codehaus.classworlds.ClassRealm; +import org.codehaus.classworlds.ClassWorld; + + +/** + * @author <a href="mailto:andy.tay...@jboss.com">Andy Taylor</a> + */ + +/** + * @phase verify + * @goal start + */ +public class ActiveMQStartPlugin extends AbstractMojo + +{ + /** + * The plugin descriptor + */ + private PluginDescriptor descriptor; + + + /** + * @parameter default-value=false + */ + private Boolean waitOnStart; + + /** + * @parameter + */ + private String configurationDir; + + /** + * @parameter + */ + private String nodeId; + + /** + * @parameter default-value=false; + */ + private Boolean fork; + + /** + * @parameter default-value=false + */ + private Boolean debug; + + /** + * @parameter + */ + private Properties systemProperties; + + /** + * @parameter default-value=STARTED:: + */ + private String serverStartString; + + /** + * @parameter + */ + private ActiveMQSecurityManager securityManager; + + /** + * registers a TestClusterMBean for test clients to use. + */ + private boolean testClusterManager; + + public void execute() throws MojoExecutionException, MojoFailureException + { + if (testClusterManager) + { + try + { + createClusterManagerMBean(); + } + catch (Exception e) + { + throw new MojoExecutionException("Failed to create cluster manager mbean", e); + } + } + + if (systemProperties != null && !systemProperties.isEmpty()) + { + System.getProperties() + .putAll(systemProperties); + } + + String workingPath = new File(".").getAbsolutePath(); + + try + { + registerNode(nodeId, workingPath, configurationDir); + } + catch (Exception e1) + { + throw new MojoExecutionException("Failed to create cluster manager mbean", e1); + } + + if (fork) + { + try + { + PluginDescriptor pd = (PluginDescriptor) getPluginContext().get("pluginDescriptor"); + final Process p = SpawnedVMSupport.spawnVM(pd.getArtifacts(), + "ActiveMQServer_" + (nodeId != null ? nodeId : ""), + SpawnedActiveMQBootstrap.class.getName(), + systemProperties, + true, + serverStartString, + "FAILED::", + ".", + configurationDir, + debug, + configurationDir, + "" + waitOnStart, + nodeId); + Runtime.getRuntime().addShutdownHook(new Thread() + { + @Override + public void run() + { + //just to be on the safe side + p.destroy(); + } + }); + if (waitOnStart) + { + p.waitFor(); + } + } + catch (Throwable e) + { + e.printStackTrace(); + throw new MojoExecutionException(e.getMessage()); + } + } + else + { + ActiveMQBootstrap bootstrap = new ActiveMQBootstrap(configurationDir, waitOnStart, nodeId, securityManager); + if (configurationDir != null) + { + extendPluginClasspath(configurationDir); + } + try + { + bootstrap.execute(); + } + catch (Exception e) + { + throw new MojoExecutionException(e.getMessage(), e); + } + } + } + + private void registerNode(String nodeId, String workingPath, + String hornetqConfigurationDir) throws Exception + { + TestClusterManagerMBean control = PluginUtil.getTestClusterManager(); + if (control != null) + { + control.registerNode(nodeId, workingPath, hornetqConfigurationDir); + } + } + + private void createClusterManagerMBean() throws Exception + { + MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer(); + ObjectName name = ObjectName.getInstance("hornetq:module=test,type=TestClusterManager"); + mbeanServer.registerMBean(new TestClusterManager(), name); + } + + public void extendPluginClasspath(String element) throws MojoExecutionException + { + ClassWorld world = new ClassWorld(); + ClassRealm realm; + try + { + realm = world.newRealm( + "maven.plugin." + getClass().getSimpleName() + ((nodeId == null) ? "" : nodeId), + Thread.currentThread() + .getContextClassLoader() + ); + File elementFile = new File(element); + getLog().debug("Adding element to plugin classpath" + elementFile.getPath()); + realm.addConstituent(elementFile.toURI() + .toURL()); + } + catch (Exception ex) + { + throw new MojoExecutionException(ex.toString(), ex); + } + System.out.println(Arrays.toString(realm.getConstituents())); + Thread.currentThread() + .setContextClassLoader(realm.getClassLoader()); + } +} http://git-wip-us.apache.org/repos/asf/activemq-6/blob/a102983d/activemq-maven-plugin/src/main/java/org/apache/activemq/maven/ActiveMQStopPlugin.java ---------------------------------------------------------------------- diff --git a/activemq-maven-plugin/src/main/java/org/apache/activemq/maven/ActiveMQStopPlugin.java b/activemq-maven-plugin/src/main/java/org/apache/activemq/maven/ActiveMQStopPlugin.java new file mode 100644 index 0000000..b6b374b --- /dev/null +++ b/activemq-maven-plugin/src/main/java/org/apache/activemq/maven/ActiveMQStopPlugin.java @@ -0,0 +1,78 @@ +/** + * 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.maven; + +import org.apache.maven.plugin.AbstractMojo; +import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.plugin.MojoFailureException; + +import java.io.File; +import java.io.IOException; + +/** + * @author <a href="mailto:andy.tay...@jboss.com">Andy Taylor</a> + * Date: 8/18/11 + * Time: 12:25 PM + */ + +/** + * @phase verify + * @goal stop + */ +public class ActiveMQStopPlugin extends AbstractMojo +{ + + /** + * @parameter + */ + private String configurationDir; + + public void execute() throws MojoExecutionException, MojoFailureException + { + try + { + String dirName = configurationDir != null ? configurationDir : "."; + final File file = new File(dirName + "/" + "/STOP_ME"); + file.createNewFile(); + long time = System.currentTimeMillis(); + while (System.currentTimeMillis() < time + 60000) + { + if (!file.exists()) + { + break; + } + try + { + Thread.sleep(200); + } + catch (InterruptedException e) + { + //ignore + } + } + if (file.exists()) + { + throw new MojoExecutionException("looks like the server hasn't been stopped"); + } + } + catch (IOException e) + { + e.printStackTrace(); + throw new MojoExecutionException(e.getMessage()); + } + } +} http://git-wip-us.apache.org/repos/asf/activemq-6/blob/a102983d/activemq-maven-plugin/src/main/java/org/apache/activemq/maven/InVMNodeManagerServer.java ---------------------------------------------------------------------- diff --git a/activemq-maven-plugin/src/main/java/org/apache/activemq/maven/InVMNodeManagerServer.java b/activemq-maven-plugin/src/main/java/org/apache/activemq/maven/InVMNodeManagerServer.java new file mode 100644 index 0000000..97d3f37 --- /dev/null +++ b/activemq-maven-plugin/src/main/java/org/apache/activemq/maven/InVMNodeManagerServer.java @@ -0,0 +1,73 @@ +/** + * 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.maven; + +import javax.management.MBeanServer; + +import org.apache.activemq.core.config.Configuration; +import org.apache.activemq.core.server.NodeManager; +import org.apache.activemq.core.server.impl.ActiveMQServerImpl; +import org.apache.activemq.spi.core.security.ActiveMQSecurityManager; + +public final class InVMNodeManagerServer extends ActiveMQServerImpl +{ + final NodeManager nodeManager; + + public InVMNodeManagerServer(final NodeManager nodeManager) + { + super(); + this.nodeManager = nodeManager; + } + + public InVMNodeManagerServer(final Configuration configuration, final NodeManager nodeManager) + { + super(configuration); + this.nodeManager = nodeManager; + } + + public InVMNodeManagerServer(final Configuration configuration, + final MBeanServer mbeanServer, + final NodeManager nodeManager) + { + super(configuration, mbeanServer); + this.nodeManager = nodeManager; + } + + public InVMNodeManagerServer(final Configuration configuration, + final ActiveMQSecurityManager securityManager, + final NodeManager nodeManager) + { + super(configuration, securityManager); + this.nodeManager = nodeManager; + } + + public InVMNodeManagerServer(final Configuration configuration, + final MBeanServer mbeanServer, + final ActiveMQSecurityManager securityManager, + final NodeManager nodeManager) + { + super(configuration, mbeanServer, securityManager); + this.nodeManager = nodeManager; + } + + @Override + protected NodeManager createNodeManager(final String directory, boolean replicatingBackup) + { + return nodeManager; + } + +} http://git-wip-us.apache.org/repos/asf/activemq-6/blob/a102983d/activemq-maven-plugin/src/main/java/org/apache/activemq/maven/PluginUtil.java ---------------------------------------------------------------------- diff --git a/activemq-maven-plugin/src/main/java/org/apache/activemq/maven/PluginUtil.java b/activemq-maven-plugin/src/main/java/org/apache/activemq/maven/PluginUtil.java new file mode 100644 index 0000000..a066f4f --- /dev/null +++ b/activemq-maven-plugin/src/main/java/org/apache/activemq/maven/PluginUtil.java @@ -0,0 +1,50 @@ +/** + * 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.maven; + +import javax.management.MBeanServerConnection; +import javax.management.MBeanServerInvocationHandler; +import javax.management.ObjectName; +import javax.management.remote.JMXConnector; +import javax.management.remote.JMXConnectorFactory; +import javax.management.remote.JMXServiceURL; +import java.util.HashMap; + +public class PluginUtil +{ + public static TestClusterManagerMBean getTestClusterManager() + { + final String JMX_URL = "service:jmx:rmi:///jndi/rmi://localhost:3000/jmxrmi"; + try + { + JMXConnector connector = JMXConnectorFactory.connect(new JMXServiceURL(JMX_URL), new HashMap<String, String>()); + ObjectName name = ObjectName.getInstance("activemq:module=test,type=TestClusterManager"); + MBeanServerConnection mbsc = connector.getMBeanServerConnection(); + TestClusterManagerMBean clusterControl = MBeanServerInvocationHandler.newProxyInstance(mbsc, + name, + TestClusterManagerMBean.class, + false); + clusterControl.getNumNodes();//serves as a validation. + return clusterControl; + } + catch (Exception e) + { + return null; + } + } + +} http://git-wip-us.apache.org/repos/asf/activemq-6/blob/a102983d/activemq-maven-plugin/src/main/java/org/apache/activemq/maven/TestClusterManager.java ---------------------------------------------------------------------- diff --git a/activemq-maven-plugin/src/main/java/org/apache/activemq/maven/TestClusterManager.java b/activemq-maven-plugin/src/main/java/org/apache/activemq/maven/TestClusterManager.java new file mode 100644 index 0000000..b03fa58 --- /dev/null +++ b/activemq-maven-plugin/src/main/java/org/apache/activemq/maven/TestClusterManager.java @@ -0,0 +1,52 @@ +/** + * 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.maven; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +public class TestClusterManager implements TestClusterManagerMBean +{ + private List<TestNode> testNodes = new ArrayList<TestNode>(); + + @Override + public int getNumNodes() + { + synchronized (testNodes) + { + return testNodes.size(); + } + } + + @Override + public void registerNode(String nodeId, String workingDir, + String hornetqConfigurationDir) + { + synchronized (testNodes) + { + testNodes.add(new TestNode(nodeId, workingDir, hornetqConfigurationDir)); + } + } + + @Override + public void killNode(int i) throws IOException + { + TestNode node = testNodes.get(i); + node.kill(); + } +}