Author: jstrachan
Date: Thu Mar 27 02:47:45 2008
New Revision: 641756
URL: http://svn.apache.org/viewvc?rev=641756&view=rev
Log:
added a little test program showing how to browse ActiveMQ queues using Camel
BrowsableEndpoints http://activemq.apache.org/camel/browsableendpoint.html
Added:
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/camel/component/BrowseQueuesInUFace.java
- copied, changed from r634630,
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/camel/SetHeaderTest.java
activemq/trunk/activemq-core/src/test/resources/org/apache/activemq/camel/component/
activemq/trunk/activemq-core/src/test/resources/org/apache/activemq/camel/component/BrowseQueuesInUFace-context.xml
(with props)
Modified:
activemq/trunk/activemq-core/pom.xml
Modified: activemq/trunk/activemq-core/pom.xml
URL:
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/pom.xml?rev=641756&r1=641755&r2=641756&view=diff
==============================================================================
--- activemq/trunk/activemq-core/pom.xml (original)
+++ activemq/trunk/activemq-core/pom.xml Thu Mar 27 02:47:45 2008
@@ -218,6 +218,14 @@
<scope>test</scope>
</dependency>
+ <!-- Camel UI testing -->
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-swing</artifactId>
+ <version>${camel-version}</version>
+ <scope>test</scope>
+ </dependency>
+
<!-- database testing -->
<dependency>
<groupId>commons-collections</groupId>
Copied:
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/camel/component/BrowseQueuesInUFace.java
(from r634630,
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/camel/SetHeaderTest.java)
URL:
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/camel/component/BrowseQueuesInUFace.java?p2=activemq/trunk/activemq-core/src/test/java/org/apache/activemq/camel/component/BrowseQueuesInUFace.java&p1=activemq/trunk/activemq-core/src/test/java/org/apache/activemq/camel/SetHeaderTest.java&r1=634630&r2=641756&rev=641756&view=diff
==============================================================================
---
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/camel/SetHeaderTest.java
(original)
+++
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/camel/component/BrowseQueuesInUFace.java
Thu Mar 27 02:47:45 2008
@@ -15,46 +15,55 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.activemq.camel;
+package org.apache.activemq.camel.component;
-import java.util.List;
-
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.EndpointInject;
+import org.apache.activemq.camel.SetHeaderTest;
import org.apache.camel.CamelContext;
-import org.apache.camel.Exchange;
-import org.apache.camel.util.ObjectHelper;
+import org.apache.camel.CamelTemplate;
+import org.apache.camel.component.uface.swing.SwingBrowser;
+import org.apache.camel.impl.DefaultCamelContext;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import
org.springframework.test.context.junit38.AbstractJUnit38SpringContextTests;
-import org.springframework.beans.factory.annotation.Autowired;
/**
* @version $Revision: 1.1 $
*/
@ContextConfiguration
-public class SetHeaderTest extends AbstractJUnit38SpringContextTests {
+public class BrowseQueuesInUFace extends AbstractJUnit38SpringContextTests {
private static final transient Log LOG =
LogFactory.getLog(SetHeaderTest.class);
-
@Autowired
protected CamelContext camelContext;
+ @Autowired
+ protected CamelTemplate template;
+ protected String[] queueNames = {"Sample.A", "Sample.B", "Sample.C"};
+
+ public void testBrowseQueues() throws Exception {
+ // lets send a bunch of messages
+ for (int i = 0; i < queueNames.length; i++) {
+ String queueName = queueNames[i];
+ sendMessagesToQueue(queueName, i);
+ }
- @EndpointInject(uri = "mock:results")
- protected MockEndpoint expectedEndpoint;
+ Thread.sleep(2000);
- public void testMocksAreValid() throws Exception {
- // lets add more expectations
- expectedEndpoint.expectedMessageCount(1);
- expectedEndpoint.message(0).header("JMSXGroupID").isEqualTo("ABC");
-
- MockEndpoint.assertIsSatisfied(camelContext);
-
- // lets dump the received messages
- List<Exchange> list = expectedEndpoint.getReceivedExchanges();
- for (Exchange exchange : list) {
- Object body = exchange.getIn().getBody();
- LOG.debug("Received: body: " + body + " of type: " +
ObjectHelper.className(body) + " on: " + exchange);
+ // now lets spin up a browser
+ SwingBrowser browser = new SwingBrowser((DefaultCamelContext)
camelContext);
+ browser.run();
+
+ // now lets sleep a while...
+ Thread.sleep(50000);
+ }
+
+ protected void sendMessagesToQueue(String queueName, int index) {
+ String uri = "activemq:" + queueName;
+ int count = index * 2 + 2;
+ for (int i = 0; i < count; i++) {
+ Object body = "Message: " + i;
+ template.sendBodyAndHeader(uri, body, "counter", i);
}
+ System.out.println("Sent " + count + " messages to: " + uri);
}
}
Added:
activemq/trunk/activemq-core/src/test/resources/org/apache/activemq/camel/component/BrowseQueuesInUFace-context.xml
URL:
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/resources/org/apache/activemq/camel/component/BrowseQueuesInUFace-context.xml?rev=641756&view=auto
==============================================================================
---
activemq/trunk/activemq-core/src/test/resources/org/apache/activemq/camel/component/BrowseQueuesInUFace-context.xml
(added)
+++
activemq/trunk/activemq-core/src/test/resources/org/apache/activemq/camel/component/BrowseQueuesInUFace-context.xml
Thu Mar 27 02:47:45 2008
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- START SNIPPET: example -->
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
+ http://activemq.apache.org/camel/schema/spring
http://activemq.apache.org/camel/schema/spring/camel-spring.xsd
+ ">
+
+ <camelContext xmlns="http://activemq.apache.org/camel/schema/spring">
+ <template id="camelTemplate"/>
+ </camelContext>
+
+
+ <bean id="activemq"
class="org.apache.activemq.camel.component.ActiveMQComponent">
+ <property name="exposeAllQueues" value="true"/>
+ <property name="brokerURL" value="vm://localhost?broker.persistent=false"/>
+ </bean>
+
+</beans>
+<!-- END SNIPPET: example -->
Propchange:
activemq/trunk/activemq-core/src/test/resources/org/apache/activemq/camel/component/BrowseQueuesInUFace-context.xml
------------------------------------------------------------------------------
svn:eol-style = native