jruby-activemq 5.5.1-java
Sign up to get free protection for your applications and to get access to all the features.
- data/History.md +6 -0
- data/LICENSE +619 -0
- data/README.md +15 -0
- data/Rakefile +34 -0
- data/apache-activemq-5.5.1/LICENSE +619 -0
- data/apache-activemq-5.5.1/NOTICE +85 -0
- data/apache-activemq-5.5.1/README.txt +63 -0
- data/apache-activemq-5.5.1/WebConsole-README.txt +42 -0
- data/apache-activemq-5.5.1/activemq-all-5.5.1.jar +0 -0
- data/apache-activemq-5.5.1/bin/activemq +653 -0
- data/apache-activemq-5.5.1/bin/activemq-admin +155 -0
- data/apache-activemq-5.5.1/bin/linux-x86-32/activemq +543 -0
- data/apache-activemq-5.5.1/bin/linux-x86-32/libwrapper.so +0 -0
- data/apache-activemq-5.5.1/bin/linux-x86-32/wrapper +0 -0
- data/apache-activemq-5.5.1/bin/linux-x86-32/wrapper.conf +139 -0
- data/apache-activemq-5.5.1/bin/linux-x86-64/activemq +543 -0
- data/apache-activemq-5.5.1/bin/linux-x86-64/libwrapper.so +0 -0
- data/apache-activemq-5.5.1/bin/linux-x86-64/wrapper +0 -0
- data/apache-activemq-5.5.1/bin/linux-x86-64/wrapper.conf +139 -0
- data/apache-activemq-5.5.1/bin/macosx/activemq +537 -0
- data/apache-activemq-5.5.1/bin/macosx/libwrapper.jnilib +0 -0
- data/apache-activemq-5.5.1/bin/macosx/wrapper +0 -0
- data/apache-activemq-5.5.1/bin/macosx/wrapper.conf +139 -0
- data/apache-activemq-5.5.1/bin/run.jar +0 -0
- data/apache-activemq-5.5.1/bin/wrapper.jar +0 -0
- data/apache-activemq-5.5.1/conf/activemq-command.xml +52 -0
- data/apache-activemq-5.5.1/conf/activemq-demo.xml +289 -0
- data/apache-activemq-5.5.1/conf/activemq-dynamic-network-broker1.xml +108 -0
- data/apache-activemq-5.5.1/conf/activemq-dynamic-network-broker2.xml +109 -0
- data/apache-activemq-5.5.1/conf/activemq-jdbc.xml +98 -0
- data/apache-activemq-5.5.1/conf/activemq-scalability.xml +77 -0
- data/apache-activemq-5.5.1/conf/activemq-security.xml +132 -0
- data/apache-activemq-5.5.1/conf/activemq-specjms.xml +118 -0
- data/apache-activemq-5.5.1/conf/activemq-static-network-broker1.xml +100 -0
- data/apache-activemq-5.5.1/conf/activemq-static-network-broker2.xml +100 -0
- data/apache-activemq-5.5.1/conf/activemq-stomp.xml +133 -0
- data/apache-activemq-5.5.1/conf/activemq-throughput.xml +82 -0
- data/apache-activemq-5.5.1/conf/activemq.xml +136 -0
- data/apache-activemq-5.5.1/conf/broker-localhost.cert +0 -0
- data/apache-activemq-5.5.1/conf/broker.ks +0 -0
- data/apache-activemq-5.5.1/conf/broker.ts +0 -0
- data/apache-activemq-5.5.1/conf/camel.xml +66 -0
- data/apache-activemq-5.5.1/conf/client.ks +0 -0
- data/apache-activemq-5.5.1/conf/client.ts +0 -0
- data/apache-activemq-5.5.1/conf/credentials-enc.properties +22 -0
- data/apache-activemq-5.5.1/conf/credentials.properties +22 -0
- data/apache-activemq-5.5.1/conf/jetty-realm.properties +20 -0
- data/apache-activemq-5.5.1/conf/jetty.xml +112 -0
- data/apache-activemq-5.5.1/conf/jmx.access +18 -0
- data/apache-activemq-5.5.1/conf/jmx.password +18 -0
- data/apache-activemq-5.5.1/conf/log4j.properties +75 -0
- data/apache-activemq-5.5.1/conf/logging.properties +25 -0
- data/apache-activemq-5.5.1/data/activemq.log +0 -0
- data/apache-activemq-5.5.1/docs/index.html +22 -0
- data/apache-activemq-5.5.1/example/build.xml +317 -0
- data/apache-activemq-5.5.1/example/conf/activemq.xml +41 -0
- data/apache-activemq-5.5.1/example/conf/log4j.properties +39 -0
- data/apache-activemq-5.5.1/example/conf/resin-web.xml +35 -0
- data/apache-activemq-5.5.1/example/conf/web.xml +40 -0
- data/apache-activemq-5.5.1/example/perfharness/perfharness-activemq.sh +49 -0
- data/apache-activemq-5.5.1/example/ruby/README.txt +27 -0
- data/apache-activemq-5.5.1/example/ruby/catstomp.rb +49 -0
- data/apache-activemq-5.5.1/example/ruby/listener.rb +51 -0
- data/apache-activemq-5.5.1/example/ruby/publisher.rb +67 -0
- data/apache-activemq-5.5.1/example/ruby/stompcat.rb +50 -0
- data/apache-activemq-5.5.1/example/src/CommandLineSupport.java +120 -0
- data/apache-activemq-5.5.1/example/src/ConsumerTool.java +353 -0
- data/apache-activemq-5.5.1/example/src/EmbeddedBroker.java +41 -0
- data/apache-activemq-5.5.1/example/src/Log4jJMSAppenderExample.java +70 -0
- data/apache-activemq-5.5.1/example/src/ProducerAndConsumerTool.java +51 -0
- data/apache-activemq-5.5.1/example/src/ProducerTool.java +247 -0
- data/apache-activemq-5.5.1/example/src/RequesterTool.java +257 -0
- data/apache-activemq-5.5.1/example/src/StompExample.java +59 -0
- data/apache-activemq-5.5.1/example/src/TopicListener.java +118 -0
- data/apache-activemq-5.5.1/example/src/TopicPublisher.java +205 -0
- data/apache-activemq-5.5.1/example/src/jndi.properties +17 -0
- data/apache-activemq-5.5.1/example/src/log4j-jms.properties +31 -0
- data/apache-activemq-5.5.1/example/transactions/README.txt +40 -0
- data/apache-activemq-5.5.1/example/transactions/build.xml +113 -0
- data/apache-activemq-5.5.1/example/transactions/src/Retailer.java +107 -0
- data/apache-activemq-5.5.1/example/transactions/src/Supplier.java +135 -0
- data/apache-activemq-5.5.1/example/transactions/src/TransactionsDemo.java +47 -0
- data/apache-activemq-5.5.1/example/transactions/src/Vendor.java +302 -0
- data/apache-activemq-5.5.1/lib/a.sh +3 -0
- data/apache-activemq-5.5.1/lib/activation-1.1.jar +0 -0
- data/apache-activemq-5.5.1/lib/activemq-camel-5.5.1.jar +0 -0
- data/apache-activemq-5.5.1/lib/activemq-console-5.5.1.jar +0 -0
- data/apache-activemq-5.5.1/lib/activemq-core-5.5.1.jar +0 -0
- data/apache-activemq-5.5.1/lib/activemq-jaas-5.5.1.jar +0 -0
- data/apache-activemq-5.5.1/lib/activemq-protobuf-1.1.jar +0 -0
- data/apache-activemq-5.5.1/lib/activemq-rar.txt +20 -0
- data/apache-activemq-5.5.1/lib/activemq-web-5.5.1.jar +0 -0
- data/apache-activemq-5.5.1/lib/camel-core-2.7.0.jar +0 -0
- data/apache-activemq-5.5.1/lib/camel-jetty-2.7.0.jar +0 -0
- data/apache-activemq-5.5.1/lib/camel-jms-2.7.0.jar +0 -0
- data/apache-activemq-5.5.1/lib/camel-spring-2.7.0.jar +0 -0
- data/apache-activemq-5.5.1/lib/geronimo-j2ee-management_1.1_spec-1.0.1.jar +0 -0
- data/apache-activemq-5.5.1/lib/geronimo-jms_1.1_spec-1.1.1.jar +0 -0
- data/apache-activemq-5.5.1/lib/geronimo-jta_1.0.1B_spec-1.0.1.jar +0 -0
- data/apache-activemq-5.5.1/lib/jaxb-api-2.1.jar +0 -0
- data/apache-activemq-5.5.1/lib/jaxb-impl-2.1.6.jar +0 -0
- data/apache-activemq-5.5.1/lib/jcl-over-slf4j-1.5.11.jar +0 -0
- data/apache-activemq-5.5.1/lib/kahadb-5.5.1.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/activeio-core-3.1.2.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/activemq-jmdns_1.0-5.5.1.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/activemq-optional-5.5.1.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/activemq-pool-5.5.1.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/activemq-spring-5.5.1.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/activemq-xmpp-5.5.1.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/commons-beanutils-1.6.1.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/commons-codec-1.2.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/commons-collections-3.2.1.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/commons-dbcp-1.2.2.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/commons-httpclient-3.1.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/commons-lang-2.4.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/commons-net-2.0.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/commons-pool-1.5.4.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/geronimo-j2ee-connector_1.5_spec-2.0.0.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/jasypt-1.7.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/jettison-1.2.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/josql-1.5.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/log4j-1.2.14.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/slf4j-log4j12-1.5.11.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/spring-aop-3.0.3.RELEASE.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/spring-asm-3.0.3.RELEASE.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/spring-beans-3.0.3.RELEASE.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/spring-context-3.0.3.RELEASE.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/spring-core-3.0.3.RELEASE.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/spring-expression-3.0.3.RELEASE.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/spring-jms-3.0.3.RELEASE.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/spring-oxm-tiger-1.5.8.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/spring-tx-3.0.3.RELEASE.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/stax2-api-3.0.1.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/velocity-1.6.2.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/woodstox-core-asl-4.0.7.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/xbean-spring-3.7.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/xpp3-1.1.4c.jar +0 -0
- data/apache-activemq-5.5.1/lib/optional/xstream-1.3.1.jar +0 -0
- data/apache-activemq-5.5.1/lib/slf4j-api-1.5.11.jar +0 -0
- data/apache-activemq-5.5.1/lib/stax-1.2.0.jar +0 -0
- data/apache-activemq-5.5.1/lib/stax-api-1.0.1.jar +0 -0
- data/apache-activemq-5.5.1/lib/web/commons-management-1.0.jar +0 -0
- data/apache-activemq-5.5.1/lib/web/core-3.1.1.jar +0 -0
- data/apache-activemq-5.5.1/lib/web/geronimo-servlet_2.5_spec-1.2.jar +0 -0
- data/apache-activemq-5.5.1/lib/web/jdom-1.0.jar +0 -0
- data/apache-activemq-5.5.1/lib/web/jetty-all-server-7.1.6.v20100715.jar +0 -0
- data/apache-activemq-5.5.1/lib/web/jetty-websocket-7.1.6.v20100715.jar +0 -0
- data/apache-activemq-5.5.1/lib/web/jsp-2.1-glassfish-2.1.v20100127.jar +0 -0
- data/apache-activemq-5.5.1/lib/web/jsp-api-2.1-glassfish-2.1.v20100127.jar +0 -0
- data/apache-activemq-5.5.1/lib/web/rome-0.8.jar +0 -0
- data/apache-activemq-5.5.1/lib/web/sitemesh-2.2.1.jar +0 -0
- data/apache-activemq-5.5.1/lib/web/spring-web-3.0.3.RELEASE.jar +0 -0
- data/apache-activemq-5.5.1/lib/web/spring-webmvc-3.0.3.RELEASE.jar +0 -0
- data/apache-activemq-5.5.1/user-guide.html +119 -0
- data/apache-activemq-5.5.1/webapps/admin/404.html +137 -0
- data/apache-activemq-5.5.1/webapps/admin/500.html +138 -0
- data/apache-activemq-5.5.1/webapps/admin/META-INF/LICENSE +1026 -0
- data/apache-activemq-5.5.1/webapps/admin/META-INF/NOTICE +107 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/classes/org/apache/activemq/web/WebConsoleStarter.class +0 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/classes/org/apache/activemq/web/controller/CopyMessage.class +0 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/classes/org/apache/activemq/web/controller/CreateDestination.class +0 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/classes/org/apache/activemq/web/controller/CreateSubscriber.class +0 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/classes/org/apache/activemq/web/controller/DeleteDestination.class +0 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/classes/org/apache/activemq/web/controller/DeleteJob.class +0 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/classes/org/apache/activemq/web/controller/DeleteMessage.class +0 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/classes/org/apache/activemq/web/controller/DeleteSubscriber.class +0 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/classes/org/apache/activemq/web/controller/MoveMessage.class +0 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/classes/org/apache/activemq/web/controller/PurgeDestination.class +0 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/classes/org/apache/activemq/web/controller/SendMessage.class +0 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/classes/org/apache/activemq/web/filter/ApplicationContextFilter$1.class +0 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/classes/org/apache/activemq/web/filter/ApplicationContextFilter$2.class +0 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/classes/org/apache/activemq/web/filter/ApplicationContextFilter.class +0 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/classes/org/apache/activemq/web/handler/BindingBeanNameUrlHandlerMapping.class +0 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/decorators.xml +30 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/dispatcher-servlet.xml +62 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/jspf/headertags.jspf +21 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/jspf/old.jspf +21 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/tags/form/checkbox.tag +18 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/tags/form/forEachMapEntry.tag +29 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/tags/form/option.tag +20 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/tags/form/short.tag +29 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/tags/form/text.tag +30 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/tags/form/tooltip.tag +29 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/tags/form/uri.tag +18 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/tags/jms/forEachConnection.tag +35 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/tags/jms/forEachMessage.tag +34 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/tags/jms/formatTimestamp.tag +29 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/tags/jms/persistent.tag +27 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/web.xml +187 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/webconsole-default.xml +26 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/webconsole-embedded.xml +45 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/webconsole-invm.xml +41 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/webconsole-jndi.xml +39 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/webconsole-properties.xml +39 -0
- data/apache-activemq-5.5.1/webapps/admin/WEB-INF/webconsole-query.xml +25 -0
- data/apache-activemq-5.5.1/webapps/admin/browse.jsp +64 -0
- data/apache-activemq-5.5.1/webapps/admin/connection.jsp +138 -0
- data/apache-activemq-5.5.1/webapps/admin/connections.jsp +85 -0
- data/apache-activemq-5.5.1/webapps/admin/decorators/main.jsp +165 -0
- data/apache-activemq-5.5.1/webapps/admin/decorators/panel.jsp +31 -0
- data/apache-activemq-5.5.1/webapps/admin/decorators/printable.jsp +31 -0
- data/apache-activemq-5.5.1/webapps/admin/graph.jsp +67 -0
- data/apache-activemq-5.5.1/webapps/admin/images/activemq-logo.png +0 -0
- data/apache-activemq-5.5.1/webapps/admin/images/asf-logo.png +0 -0
- data/apache-activemq-5.5.1/webapps/admin/images/big-bullet.png +0 -0
- data/apache-activemq-5.5.1/webapps/admin/images/black-footer-bottom.png +0 -0
- data/apache-activemq-5.5.1/webapps/admin/images/black-footer-left.png +0 -0
- data/apache-activemq-5.5.1/webapps/admin/images/black-footer-right.png +0 -0
- data/apache-activemq-5.5.1/webapps/admin/images/bottom-red-bar.png +0 -0
- data/apache-activemq-5.5.1/webapps/admin/images/checker-bg.png +0 -0
- data/apache-activemq-5.5.1/webapps/admin/images/content-left.png +0 -0
- data/apache-activemq-5.5.1/webapps/admin/images/content-right.png +0 -0
- data/apache-activemq-5.5.1/webapps/admin/images/feed_atom.png +0 -0
- data/apache-activemq-5.5.1/webapps/admin/images/feed_rss.png +0 -0
- data/apache-activemq-5.5.1/webapps/admin/images/left-box-bottom.png +0 -0
- data/apache-activemq-5.5.1/webapps/admin/images/left-box-right.png +0 -0
- data/apache-activemq-5.5.1/webapps/admin/images/left-box-top.png +0 -0
- data/apache-activemq-5.5.1/webapps/admin/images/oval-arrow.png +0 -0
- data/apache-activemq-5.5.1/webapps/admin/images/right-box-bottom.png +0 -0
- data/apache-activemq-5.5.1/webapps/admin/images/right-box-left.png +0 -0
- data/apache-activemq-5.5.1/webapps/admin/images/right-box-top.png +0 -0
- data/apache-activemq-5.5.1/webapps/admin/images/small-bullet-gray.png +0 -0
- data/apache-activemq-5.5.1/webapps/admin/images/small-bullet-red.png +0 -0
- data/apache-activemq-5.5.1/webapps/admin/images/spacer.gif +0 -0
- data/apache-activemq-5.5.1/webapps/admin/images/top-red-bar.png +0 -0
- data/apache-activemq-5.5.1/webapps/admin/images/white-header-left.png +0 -0
- data/apache-activemq-5.5.1/webapps/admin/images/white-header-right.png +0 -0
- data/apache-activemq-5.5.1/webapps/admin/images/white-header-top.png +0 -0
- data/apache-activemq-5.5.1/webapps/admin/index.jsp +65 -0
- data/apache-activemq-5.5.1/webapps/admin/js/common.js +121 -0
- data/apache-activemq-5.5.1/webapps/admin/js/css.js +145 -0
- data/apache-activemq-5.5.1/webapps/admin/js/mochi/MochiKit.js +4804 -0
- data/apache-activemq-5.5.1/webapps/admin/js/mochi/__package__.js +14 -0
- data/apache-activemq-5.5.1/webapps/admin/js/plotkit/Base.js +332 -0
- data/apache-activemq-5.5.1/webapps/admin/js/plotkit/Canvas.js +707 -0
- data/apache-activemq-5.5.1/webapps/admin/js/plotkit/Layout.js +588 -0
- data/apache-activemq-5.5.1/webapps/admin/js/plotkit/SVG.js +677 -0
- data/apache-activemq-5.5.1/webapps/admin/js/plotkit/SweetCanvas.js +281 -0
- data/apache-activemq-5.5.1/webapps/admin/js/plotkit/SweetSVG.js +196 -0
- data/apache-activemq-5.5.1/webapps/admin/js/plotkit/dummy.svg +15 -0
- data/apache-activemq-5.5.1/webapps/admin/js/plotkit/iecanvas.htc +389 -0
- data/apache-activemq-5.5.1/webapps/admin/js/prettify.js +1424 -0
- data/apache-activemq-5.5.1/webapps/admin/js/standardista-table-sorting.js +434 -0
- data/apache-activemq-5.5.1/webapps/admin/message.jsp +185 -0
- data/apache-activemq-5.5.1/webapps/admin/network.jsp +52 -0
- data/apache-activemq-5.5.1/webapps/admin/queueConsumers.jsp +79 -0
- data/apache-activemq-5.5.1/webapps/admin/queueGraph.jsp +68 -0
- data/apache-activemq-5.5.1/webapps/admin/queues.jsp +78 -0
- data/apache-activemq-5.5.1/webapps/admin/scheduled.jsp +67 -0
- data/apache-activemq-5.5.1/webapps/admin/send.jsp +173 -0
- data/apache-activemq-5.5.1/webapps/admin/styles/prettify.css +44 -0
- data/apache-activemq-5.5.1/webapps/admin/styles/site.css +206 -0
- data/apache-activemq-5.5.1/webapps/admin/styles/sorttable.css +70 -0
- data/apache-activemq-5.5.1/webapps/admin/styles/type-settings.css +177 -0
- data/apache-activemq-5.5.1/webapps/admin/subscribers.jsp +158 -0
- data/apache-activemq-5.5.1/webapps/admin/test/dummy.jsp +52 -0
- data/apache-activemq-5.5.1/webapps/admin/test/index.jsp +84 -0
- data/apache-activemq-5.5.1/webapps/admin/test/systemProperties.jsp +53 -0
- data/apache-activemq-5.5.1/webapps/admin/topics.jsp +66 -0
- data/apache-activemq-5.5.1/webapps/admin/xml/queues.jsp +34 -0
- data/apache-activemq-5.5.1/webapps/admin/xml/topics.jsp +29 -0
- data/apache-activemq-5.5.1/webapps/demo/META-INF/LICENSE +494 -0
- data/apache-activemq-5.5.1/webapps/demo/META-INF/NOTICE +82 -0
- data/apache-activemq-5.5.1/webapps/demo/WEB-INF/web.xml +111 -0
- data/apache-activemq-5.5.1/webapps/demo/chat.css +76 -0
- data/apache-activemq-5.5.1/webapps/demo/chat.html +219 -0
- data/apache-activemq-5.5.1/webapps/demo/index.html +181 -0
- data/apache-activemq-5.5.1/webapps/demo/js/amq.js +307 -0
- data/apache-activemq-5.5.1/webapps/demo/js/amq_dojo_adapter.js +84 -0
- data/apache-activemq-5.5.1/webapps/demo/js/amq_jquery_adapter.js +88 -0
- data/apache-activemq-5.5.1/webapps/demo/js/amq_prototype_adapter.js +84 -0
- data/apache-activemq-5.5.1/webapps/demo/js/chat.js +209 -0
- data/apache-activemq-5.5.1/webapps/demo/js/dojo.js +16 -0
- data/apache-activemq-5.5.1/webapps/demo/js/jquery-1.4.2.min.js +154 -0
- data/apache-activemq-5.5.1/webapps/demo/js/prototype.js +4874 -0
- data/apache-activemq-5.5.1/webapps/demo/portfolio/portfolio.html +87 -0
- data/apache-activemq-5.5.1/webapps/demo/portfolio/portfolio.js +91 -0
- data/apache-activemq-5.5.1/webapps/demo/sandbox/index.html +31 -0
- data/apache-activemq-5.5.1/webapps/demo/sandbox/portfolio.html +93 -0
- data/apache-activemq-5.5.1/webapps/demo/sandbox/portfolio.js +49 -0
- data/apache-activemq-5.5.1/webapps/demo/sandbox/util.js +52 -0
- data/apache-activemq-5.5.1/webapps/demo/sandbox/webmq.js +149 -0
- data/apache-activemq-5.5.1/webapps/demo/send.html +51 -0
- data/apache-activemq-5.5.1/webapps/demo/style.css +440 -0
- data/apache-activemq-5.5.1/webapps/demo/test/amq_test.html +311 -0
- data/apache-activemq-5.5.1/webapps/demo/test/assets/README +4 -0
- data/apache-activemq-5.5.1/webapps/demo/test/assets/jsunittest.js +1017 -0
- data/apache-activemq-5.5.1/webapps/demo/test/assets/unittest.css +54 -0
- data/apache-activemq-5.5.1/webapps/favicon.ico +0 -0
- data/apache-activemq-5.5.1/webapps/fileserver/META-INF/LICENSE +203 -0
- data/apache-activemq-5.5.1/webapps/fileserver/META-INF/NOTICE +5 -0
- data/apache-activemq-5.5.1/webapps/fileserver/WEB-INF/classes/org/apache/activemq/util/FilenameGuardFilter$GuardedHttpServletRequest.class +0 -0
- data/apache-activemq-5.5.1/webapps/fileserver/WEB-INF/classes/org/apache/activemq/util/FilenameGuardFilter.class +0 -0
- data/apache-activemq-5.5.1/webapps/fileserver/WEB-INF/classes/org/apache/activemq/util/IOHelper.class +0 -0
- data/apache-activemq-5.5.1/webapps/fileserver/WEB-INF/classes/org/apache/activemq/util/RestFilter.class +0 -0
- data/apache-activemq-5.5.1/webapps/fileserver/WEB-INF/web.xml +56 -0
- data/apache-activemq-5.5.1/webapps/fileserver/index.html +30 -0
- data/apache-activemq-5.5.1/webapps/index.html +145 -0
- data/apache-activemq-5.5.1/webapps/styles/site.css +206 -0
- data/apache-activemq-5.5.1/webapps/styles/type-settings.css +177 -0
- data/lib/activemq.rb +11 -0
- metadata +382 -0
@@ -0,0 +1,59 @@
|
|
1
|
+
/**
|
2
|
+
* Licensed to the Apache Software Foundation (ASF) under one or more
|
3
|
+
* contributor license agreements. See the NOTICE file distributed with
|
4
|
+
* this work for additional information regarding copyright ownership.
|
5
|
+
* The ASF licenses this file to You under the Apache License, Version 2.0
|
6
|
+
* (the "License"); you may not use this file except in compliance with
|
7
|
+
* the License. You may obtain a copy of the License at
|
8
|
+
*
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
*
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
* See the License for the specific language governing permissions and
|
15
|
+
* limitations under the License.
|
16
|
+
*/
|
17
|
+
import org.apache.activemq.transport.stomp.Stomp;
|
18
|
+
import org.apache.activemq.transport.stomp.StompConnection;
|
19
|
+
import org.apache.activemq.transport.stomp.StompFrame;
|
20
|
+
import org.apache.activemq.transport.stomp.Stomp.Headers.Subscribe;
|
21
|
+
|
22
|
+
/**
|
23
|
+
*
|
24
|
+
* This example demonstrates Stomp Java API
|
25
|
+
*
|
26
|
+
*
|
27
|
+
*
|
28
|
+
*/
|
29
|
+
public class StompExample {
|
30
|
+
|
31
|
+
public static void main(String args[]) throws Exception {
|
32
|
+
StompConnection connection = new StompConnection();
|
33
|
+
connection.open("localhost", 61613);
|
34
|
+
|
35
|
+
connection.connect("system", "manager");
|
36
|
+
|
37
|
+
connection.begin("tx1");
|
38
|
+
connection.send("/queue/test", "message1");
|
39
|
+
connection.send("/queue/test", "message2");
|
40
|
+
connection.commit("tx1");
|
41
|
+
|
42
|
+
connection.subscribe("/queue/test", Subscribe.AckModeValues.CLIENT);
|
43
|
+
|
44
|
+
connection.begin("tx2");
|
45
|
+
|
46
|
+
StompFrame message = connection.receive();
|
47
|
+
System.out.println(message.getBody());
|
48
|
+
connection.ack(message, "tx2");
|
49
|
+
|
50
|
+
message = connection.receive();
|
51
|
+
System.out.println(message.getBody());
|
52
|
+
connection.ack(message, "tx2");
|
53
|
+
|
54
|
+
connection.commit("tx2");
|
55
|
+
|
56
|
+
connection.disconnect();
|
57
|
+
}
|
58
|
+
|
59
|
+
}
|
@@ -0,0 +1,118 @@
|
|
1
|
+
/**
|
2
|
+
* Licensed to the Apache Software Foundation (ASF) under one or more
|
3
|
+
* contributor license agreements. See the NOTICE file distributed with
|
4
|
+
* this work for additional information regarding copyright ownership.
|
5
|
+
* The ASF licenses this file to You under the Apache License, Version 2.0
|
6
|
+
* (the "License"); you may not use this file except in compliance with
|
7
|
+
* the License. You may obtain a copy of the License at
|
8
|
+
*
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
*
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
* See the License for the specific language governing permissions and
|
15
|
+
* limitations under the License.
|
16
|
+
*/
|
17
|
+
import java.util.Arrays;
|
18
|
+
|
19
|
+
import javax.jms.Connection;
|
20
|
+
import javax.jms.JMSException;
|
21
|
+
import javax.jms.Message;
|
22
|
+
import javax.jms.MessageConsumer;
|
23
|
+
import javax.jms.MessageListener;
|
24
|
+
import javax.jms.MessageProducer;
|
25
|
+
import javax.jms.Session;
|
26
|
+
import javax.jms.TextMessage;
|
27
|
+
import javax.jms.Topic;
|
28
|
+
|
29
|
+
import org.apache.activemq.ActiveMQConnectionFactory;
|
30
|
+
|
31
|
+
/**
|
32
|
+
* Use in conjunction with TopicPublisher to test the performance of ActiveMQ
|
33
|
+
* Topics.
|
34
|
+
*/
|
35
|
+
public class TopicListener implements MessageListener {
|
36
|
+
|
37
|
+
private Connection connection;
|
38
|
+
private MessageProducer producer;
|
39
|
+
private Session session;
|
40
|
+
private int count;
|
41
|
+
private long start;
|
42
|
+
private Topic topic;
|
43
|
+
private Topic control;
|
44
|
+
|
45
|
+
private String url = "tcp://localhost:61616";
|
46
|
+
|
47
|
+
public static void main(String[] argv) throws Exception {
|
48
|
+
TopicListener l = new TopicListener();
|
49
|
+
String[] unknown = CommandLineSupport.setOptions(l, argv);
|
50
|
+
if (unknown.length > 0) {
|
51
|
+
System.out.println("Unknown options: " + Arrays.toString(unknown));
|
52
|
+
System.exit(-1);
|
53
|
+
}
|
54
|
+
l.run();
|
55
|
+
}
|
56
|
+
|
57
|
+
public void run() throws JMSException {
|
58
|
+
ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(url);
|
59
|
+
connection = factory.createConnection();
|
60
|
+
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
|
61
|
+
topic = session.createTopic("topictest.messages");
|
62
|
+
control = session.createTopic("topictest.control");
|
63
|
+
|
64
|
+
MessageConsumer consumer = session.createConsumer(topic);
|
65
|
+
consumer.setMessageListener(this);
|
66
|
+
|
67
|
+
connection.start();
|
68
|
+
|
69
|
+
producer = session.createProducer(control);
|
70
|
+
System.out.println("Waiting for messages...");
|
71
|
+
}
|
72
|
+
|
73
|
+
private static boolean checkText(Message m, String s) {
|
74
|
+
try {
|
75
|
+
return m instanceof TextMessage && ((TextMessage)m).getText().equals(s);
|
76
|
+
} catch (JMSException e) {
|
77
|
+
e.printStackTrace(System.out);
|
78
|
+
return false;
|
79
|
+
}
|
80
|
+
}
|
81
|
+
|
82
|
+
public void onMessage(Message message) {
|
83
|
+
if (checkText(message, "SHUTDOWN")) {
|
84
|
+
|
85
|
+
try {
|
86
|
+
connection.close();
|
87
|
+
} catch (Exception e) {
|
88
|
+
e.printStackTrace(System.out);
|
89
|
+
}
|
90
|
+
|
91
|
+
} else if (checkText(message, "REPORT")) {
|
92
|
+
// send a report:
|
93
|
+
try {
|
94
|
+
long time = System.currentTimeMillis() - start;
|
95
|
+
String msg = "Received " + count + " in " + time + "ms";
|
96
|
+
producer.send(session.createTextMessage(msg));
|
97
|
+
} catch (Exception e) {
|
98
|
+
e.printStackTrace(System.out);
|
99
|
+
}
|
100
|
+
count = 0;
|
101
|
+
|
102
|
+
} else {
|
103
|
+
|
104
|
+
if (count == 0) {
|
105
|
+
start = System.currentTimeMillis();
|
106
|
+
}
|
107
|
+
|
108
|
+
if (++count % 1000 == 0) {
|
109
|
+
System.out.println("Received " + count + " messages.");
|
110
|
+
}
|
111
|
+
}
|
112
|
+
}
|
113
|
+
|
114
|
+
public void setUrl(String url) {
|
115
|
+
this.url = url;
|
116
|
+
}
|
117
|
+
|
118
|
+
}
|
@@ -0,0 +1,205 @@
|
|
1
|
+
/**
|
2
|
+
* Licensed to the Apache Software Foundation (ASF) under one or more
|
3
|
+
* contributor license agreements. See the NOTICE file distributed with
|
4
|
+
* this work for additional information regarding copyright ownership.
|
5
|
+
* The ASF licenses this file to You under the Apache License, Version 2.0
|
6
|
+
* (the "License"); you may not use this file except in compliance with
|
7
|
+
* the License. You may obtain a copy of the License at
|
8
|
+
*
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
*
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
* See the License for the specific language governing permissions and
|
15
|
+
* limitations under the License.
|
16
|
+
*/
|
17
|
+
import java.util.Arrays;
|
18
|
+
|
19
|
+
import javax.jms.BytesMessage;
|
20
|
+
import javax.jms.Connection;
|
21
|
+
import javax.jms.DeliveryMode;
|
22
|
+
import javax.jms.JMSException;
|
23
|
+
import javax.jms.Message;
|
24
|
+
import javax.jms.MessageListener;
|
25
|
+
import javax.jms.MessageProducer;
|
26
|
+
import javax.jms.Session;
|
27
|
+
import javax.jms.TextMessage;
|
28
|
+
import javax.jms.Topic;
|
29
|
+
|
30
|
+
import org.apache.activemq.ActiveMQConnectionFactory;
|
31
|
+
|
32
|
+
/**
|
33
|
+
* Use in conjunction with TopicListener to test the performance of ActiveMQ
|
34
|
+
* Topics.
|
35
|
+
*/
|
36
|
+
public class TopicPublisher implements MessageListener {
|
37
|
+
|
38
|
+
private static final char[] DATA = "abcdefghijklmnopqrstuvwxyz".toCharArray();
|
39
|
+
|
40
|
+
private final Object mutex = new Object();
|
41
|
+
private Connection connection;
|
42
|
+
private Session session;
|
43
|
+
private MessageProducer publisher;
|
44
|
+
private Topic topic;
|
45
|
+
private Topic control;
|
46
|
+
|
47
|
+
private String url = "tcp://localhost:61616";
|
48
|
+
private int size = 256;
|
49
|
+
private int subscribers = 1;
|
50
|
+
private int remaining;
|
51
|
+
private int messages = 10000;
|
52
|
+
private long delay;
|
53
|
+
private int batch = 2000;
|
54
|
+
|
55
|
+
private byte[] payload;
|
56
|
+
|
57
|
+
public static void main(String[] argv) throws Exception {
|
58
|
+
TopicPublisher p = new TopicPublisher();
|
59
|
+
String[] unknown = CommandLineSupport.setOptions(p, argv);
|
60
|
+
if (unknown.length > 0) {
|
61
|
+
System.out.println("Unknown options: " + Arrays.toString(unknown));
|
62
|
+
System.exit(-1);
|
63
|
+
}
|
64
|
+
p.run();
|
65
|
+
}
|
66
|
+
|
67
|
+
private void run() throws Exception {
|
68
|
+
ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(url);
|
69
|
+
connection = factory.createConnection();
|
70
|
+
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
|
71
|
+
topic = session.createTopic("topictest.messages");
|
72
|
+
control = session.createTopic("topictest.control");
|
73
|
+
|
74
|
+
publisher = session.createProducer(topic);
|
75
|
+
publisher.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
|
76
|
+
|
77
|
+
payload = new byte[size];
|
78
|
+
for (int i = 0; i < size; i++) {
|
79
|
+
payload[i] = (byte)DATA[i % DATA.length];
|
80
|
+
}
|
81
|
+
|
82
|
+
session.createConsumer(control).setMessageListener(this);
|
83
|
+
connection.start();
|
84
|
+
|
85
|
+
long[] times = new long[batch];
|
86
|
+
for (int i = 0; i < batch; i++) {
|
87
|
+
if (i > 0) {
|
88
|
+
Thread.sleep(delay * 1000);
|
89
|
+
}
|
90
|
+
times[i] = batch(messages);
|
91
|
+
System.out.println("Batch " + (i + 1) + " of " + batch + " completed in " + times[i] + " ms.");
|
92
|
+
}
|
93
|
+
|
94
|
+
long min = min(times);
|
95
|
+
long max = max(times);
|
96
|
+
System.out.println("min: " + min + ", max: " + max + " avg: " + avg(times, min, max));
|
97
|
+
|
98
|
+
// request shutdown
|
99
|
+
publisher.send(session.createTextMessage("SHUTDOWN"));
|
100
|
+
|
101
|
+
connection.stop();
|
102
|
+
connection.close();
|
103
|
+
}
|
104
|
+
|
105
|
+
private long batch(int msgCount) throws Exception {
|
106
|
+
long start = System.currentTimeMillis();
|
107
|
+
remaining = subscribers;
|
108
|
+
publish();
|
109
|
+
waitForCompletion();
|
110
|
+
return System.currentTimeMillis() - start;
|
111
|
+
}
|
112
|
+
|
113
|
+
private void publish() throws Exception {
|
114
|
+
|
115
|
+
// send events
|
116
|
+
BytesMessage msg = session.createBytesMessage();
|
117
|
+
msg.writeBytes(payload);
|
118
|
+
for (int i = 0; i < messages; i++) {
|
119
|
+
publisher.send(msg);
|
120
|
+
if ((i + 1) % 1000 == 0) {
|
121
|
+
System.out.println("Sent " + (i + 1) + " messages");
|
122
|
+
}
|
123
|
+
}
|
124
|
+
|
125
|
+
// request report
|
126
|
+
publisher.send(session.createTextMessage("REPORT"));
|
127
|
+
}
|
128
|
+
|
129
|
+
private void waitForCompletion() throws Exception {
|
130
|
+
System.out.println("Waiting for completion...");
|
131
|
+
synchronized (mutex) {
|
132
|
+
while (remaining > 0) {
|
133
|
+
mutex.wait();
|
134
|
+
}
|
135
|
+
}
|
136
|
+
}
|
137
|
+
|
138
|
+
public void onMessage(Message message) {
|
139
|
+
synchronized (mutex) {
|
140
|
+
System.out.println("Received report " + getReport(message) + " " + --remaining + " remaining");
|
141
|
+
if (remaining == 0) {
|
142
|
+
mutex.notify();
|
143
|
+
}
|
144
|
+
}
|
145
|
+
}
|
146
|
+
|
147
|
+
Object getReport(Message m) {
|
148
|
+
try {
|
149
|
+
return ((TextMessage)m).getText();
|
150
|
+
} catch (JMSException e) {
|
151
|
+
e.printStackTrace(System.out);
|
152
|
+
return e.toString();
|
153
|
+
}
|
154
|
+
}
|
155
|
+
|
156
|
+
static long min(long[] times) {
|
157
|
+
long min = times.length > 0 ? times[0] : 0;
|
158
|
+
for (int i = 0; i < times.length; i++) {
|
159
|
+
min = Math.min(min, times[i]);
|
160
|
+
}
|
161
|
+
return min;
|
162
|
+
}
|
163
|
+
|
164
|
+
static long max(long[] times) {
|
165
|
+
long max = times.length > 0 ? times[0] : 0;
|
166
|
+
for (int i = 0; i < times.length; i++) {
|
167
|
+
max = Math.max(max, times[i]);
|
168
|
+
}
|
169
|
+
return max;
|
170
|
+
}
|
171
|
+
|
172
|
+
static long avg(long[] times, long min, long max) {
|
173
|
+
long sum = 0;
|
174
|
+
for (int i = 0; i < times.length; i++) {
|
175
|
+
sum += times[i];
|
176
|
+
}
|
177
|
+
sum -= min;
|
178
|
+
sum -= max;
|
179
|
+
return sum / times.length - 2;
|
180
|
+
}
|
181
|
+
|
182
|
+
public void setBatch(int batch) {
|
183
|
+
this.batch = batch;
|
184
|
+
}
|
185
|
+
|
186
|
+
public void setDelay(long delay) {
|
187
|
+
this.delay = delay;
|
188
|
+
}
|
189
|
+
|
190
|
+
public void setMessages(int messages) {
|
191
|
+
this.messages = messages;
|
192
|
+
}
|
193
|
+
|
194
|
+
public void setSize(int size) {
|
195
|
+
this.size = size;
|
196
|
+
}
|
197
|
+
|
198
|
+
public void setSubscribers(int subscribers) {
|
199
|
+
this.subscribers = subscribers;
|
200
|
+
}
|
201
|
+
|
202
|
+
public void setUrl(String url) {
|
203
|
+
this.url = url;
|
204
|
+
}
|
205
|
+
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
## ---------------------------------------------------------------------------
|
2
|
+
## Licensed to the Apache Software Foundation (ASF) under one or more
|
3
|
+
## contributor license agreements. See the NOTICE file distributed with
|
4
|
+
## this work for additional information regarding copyright ownership.
|
5
|
+
## The ASF licenses this file to You under the Apache License, Version 2.0
|
6
|
+
## (the "License"); you may not use this file except in compliance with
|
7
|
+
## the License. You may obtain a copy of the License at
|
8
|
+
##
|
9
|
+
## http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
##
|
11
|
+
## Unless required by applicable law or agreed to in writing, software
|
12
|
+
## distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
## See the License for the specific language governing permissions and
|
15
|
+
## limitations under the License.
|
16
|
+
## ---------------------------------------------------------------------------
|
17
|
+
topic.logTopic=logTopic
|
@@ -0,0 +1,31 @@
|
|
1
|
+
## ---------------------------------------------------------------------------
|
2
|
+
## Licensed to the Apache Software Foundation (ASF) under one or more
|
3
|
+
## contributor license agreements. See the NOTICE file distributed with
|
4
|
+
## this work for additional information regarding copyright ownership.
|
5
|
+
## The ASF licenses this file to You under the Apache License, Version 2.0
|
6
|
+
## (the "License"); you may not use this file except in compliance with
|
7
|
+
## the License. You may obtain a copy of the License at
|
8
|
+
##
|
9
|
+
## http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
##
|
11
|
+
## Unless required by applicable law or agreed to in writing, software
|
12
|
+
## distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
## See the License for the specific language governing permissions and
|
15
|
+
## limitations under the License.
|
16
|
+
## ---------------------------------------------------------------------------
|
17
|
+
log4j.rootLogger=INFO, stdout, jms
|
18
|
+
|
19
|
+
## Be sure that ActiveMQ messages are not logged to 'jms' appender
|
20
|
+
log4j.logger.org.apache.activemq=INFO, stdout
|
21
|
+
|
22
|
+
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
|
23
|
+
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
|
24
|
+
log4j.appender.stdout.layout.ConversionPattern=%d %-5p %c - %m%n
|
25
|
+
|
26
|
+
## Configure 'jms' appender. You'll also need jndi.properties file in order to make it work
|
27
|
+
log4j.appender.jms=org.apache.log4j.net.JMSAppender
|
28
|
+
log4j.appender.jms.InitialContextFactoryName=org.apache.activemq.jndi.ActiveMQInitialContextFactory
|
29
|
+
log4j.appender.jms.ProviderURL=tcp://localhost:61616
|
30
|
+
log4j.appender.jms.TopicBindingName=logTopic
|
31
|
+
log4j.appender.jms.TopicConnectionFactoryBindingName=ConnectionFactory
|
@@ -0,0 +1,40 @@
|
|
1
|
+
Transactions Demo
|
2
|
+
=================
|
3
|
+
This example is an ActiveMQ implementation of the "TransactedExample" from
|
4
|
+
Sun's JMS Tutorial (http://java.sun.com/products/jms/tutorial/index.html).
|
5
|
+
|
6
|
+
The example simulates a simplified eCommerce application with four parts:
|
7
|
+
the retailer who places the orders, the vendor who assemples the computers,
|
8
|
+
and two suppliers--one for hard drives and another for monitors.
|
9
|
+
|
10
|
+
The retailer sends a message to the vendor's queue and awaits a reply.
|
11
|
+
The vendor receives the message and sends a message to each of the
|
12
|
+
supplier's queues. It does this in a single transaction, and will randomly
|
13
|
+
throw an exception simulating a database error, triggering a rollback.
|
14
|
+
Each supplier receives the order, checks inventory and replies to the
|
15
|
+
message stating how many items were sent.
|
16
|
+
The vendor collects both responses and responds to the retailer, notifying
|
17
|
+
wheather it cna fulfill the complete order or not.
|
18
|
+
The retailer receives the message from the vendor.
|
19
|
+
|
20
|
+
Running the Example
|
21
|
+
===================
|
22
|
+
To run the complete demo in a single JVM, with ActiveMQ running on the local
|
23
|
+
computer:
|
24
|
+
ant transactions_demo
|
25
|
+
|
26
|
+
If you are running ActiveMQ on a non-standard port, or on a different host,
|
27
|
+
you can pass a url on the commandline:
|
28
|
+
ant -Durl=tcp://localhost:61616 transactions_demo
|
29
|
+
|
30
|
+
If your ActiveMQ instance is password-protected, you can also pass a
|
31
|
+
username and password on the command line:
|
32
|
+
ant -Duser=myusername -Dpassword=supersecret transactions_demo
|
33
|
+
|
34
|
+
You can also run the individual components seperately, again with optional
|
35
|
+
url and/or authentication parameters:
|
36
|
+
ant retailer &
|
37
|
+
ant vendor &
|
38
|
+
ant hdsupplier &
|
39
|
+
ant monitorsupplier &
|
40
|
+
|