Hi,
Yes that is a good tutorial, its actually what i used to base my code upon
:-) as follows:
- create project,
- add dependencies to pom (not including aspectj AOP support),
- extend RouteBuilder,
- did not include
<!-- let Spring do its IoC stuff in this package -->
<context:component-scan base-package="org.apache.camel.example.server"/>
because the camel package scan works fine and finds my routebuilder (i know
this from my non-activemq experiments),
- ignored the jmx agent configuration
* commented out the <broker>...</broker> config as I am running ActiveMQ in
its own seperate process
- copied the ActiveMQConponent declaration
<bean id="jms"
class="org.apache.activemq.camel.component.ActiveMQComponent">
<property name="brokerURL" value="tcp://localhost:61616"/>
</bean>
** except that i called mine activemq not jms, but as i refer to it in
the routing as "activemq:[queue]" this will be fine :-)
Q: Do i need to configure/deploy/register anything within ActiveMq? Or is
the out-of-the-box installation all I need?
Thanks, I will try and look into camel whilst my test is running (via a jmx
console) and see if it gives me any ideas
Claus Ibsen-2 wrote:
>
> Hi
>
> Yeah this tutorial uses camel as both client + server with JMS (AMQ)
> http://camel.apache.org/tutorial-jmsremoting.html
>
>
>
> On Thu, Sep 10, 2009 at 6:23 PM, Gareth Williams
> <[email protected]> wrote:
>>
>> Thanks, I just tried
>>
>> <bean id="route"
>> class="test.com.firstclarity.eventbroker.MyTestRoutes"/>
>>
>> <camelContext xmlns="http://camel.apache.org/schema/spring">
>> <!-- Where to look for implementations of RouteBuilder -->
>> <!-- <package>test.com.firstclarity.eventbroker</package>
>> -->
>>
>> <routeBuilder ref="route"/>
>>
>> </camelContext>
>>
>> unfortunately same thing, no messages,
>>
>> FYI, i currently have activemq running as a separate process to my test
>> case, its just the default out-of-the-box installation, started with
>> ./activemq
>>
>> is there a good working example of activemq + camel you would recommend
>> so i
>> can look at this in more depth?
>>
>> thanks, Gareth
>>
>> PS. have spooted the deliverate mistake in my test,
>> assertTrue("FAIL: NO MESSAGE RECEIVED", eventListener.messagesReceived ==
>> 1);
>> should be
>> assertTrue("FAIL: NO MESSAGE RECEIVED", eventListener.messagesReceived >
>> 0);
>> but none are getting through anyway
>>
>>
>>
>> Claus Ibsen-2 wrote:
>>>
>>> Try using <routeBuilderRef> and refer to a spring bean that is your
>>> route builder.
>>>
>>> The <packageScan> may have problems on your side, somehow.
>>>
>>>
>>>
>>> On Thu, Sep 10, 2009 at 5:47 PM, Gareth Williams
>>> <[email protected]> wrote:
>>>>
>>>> Hi all
>>>> I have just started learning camel and JMS and ActiveMQ, and i am stuck
>>>> trying to get camel to read messages off ActiveMQ
>>>>
>>>> which version of the software?
>>>> camel version 2.0.0
>>>>
>>>> what platform and JDK?
>>>> os x 10.5.8 JDK 1.5.x
>>>>
>>>> If i connect to ActiveMQ using jconsole, i can see there are 2000+
>>>> messages
>>>> there in a queue called MUPPET.QUEUE
>>>>
>>>> Below is my Java JUnit code, the routebuilder, the spring context xml
>>>> and
>>>> part of the pom.
>>>> What the junit test does is send a http request to login a user, that
>>>> causes my actual application to post a JMS message to MUPPET.QUEUE (yes
>>>> i
>>>> do
>>>> see the queue growing!)
>>>> What I was hoping for is Camel to receive the messages off the queue
>>>> and
>>>> route them to my bean eventbroker which i have already tested with
>>>> Camel
>>>> in
>>>> a non-JMS way by using
>>>> �...@produce(uri = "direct:start")
>>>> protected ProducerTemplate template;
>>>> which worked fine and allowed me to learn routing, endpoints, etc
>>>>
>>>> My eventbroker bean isnt receiving anything! OK I daresay I am missing
>>>> something fundamental about JMS and/or activemq/camel configuration,
>>>> but
>>>> I
>>>> am stumped...
>>>> Do i need to declare a connection factory in my spring xml? or is the
>>>> information i have given camel sufficient for it to start taking
>>>> messages
>>>> off the queue?
>>>> All help gratefully accepted! Any ideas?
>>>>
>>>> Cheers,
>>>> Gareth
>>>>
>>>>
>>>> @ContextConfiguration
>>>> public class MyTest extends AbstractJUnit4SpringContextTests {
>>>>
>>>> ...
>>>> ....
>>>>
>>>> private static class MyListener implements EventListener {
>>>>
>>>> private int messagesReceived;
>>>>
>>>> public void notify(String target, Event event) {
>>>> System.out.println("***");
>>>> messagesReceived++;
>>>> }
>>>> }
>>>>
>>>>
>>>> �...@test
>>>> public void testJms() throws Exception {
>>>>
>>>> System.out.println("START TEST");
>>>> SimpleEventBroker eventbroker = (SimpleEventBroker)
>>>> applicationContext.getBean("eventbroker");
>>>> MyListener eventListener = new MyListener();
>>>> eventbroker.getListeners().add(eventListener);
>>>>
>>>> System.out.println("LOGIN...");
>>>> for (int i = 0; i < 10; i++) {
>>>> loginValidUser();
>>>> }
>>>> System.out.println("OK LOGGED IN");
>>>> pause(2);
>>>> assertTrue("FAIL: NO MESSAGE RECEIVED",
>>>> eventListener.messagesReceived == 1);
>>>> }
>>>> }
>>>>
>>>> My route builder...
>>>>
>>>> public class MyTestRoutes extends RouteBuilder {
>>>>
>>>> �...@override
>>>> public void configure() {
>>>>
>>>>
>>>> from("activemq:MUPPET.QUEUE").to("bean:eventbroker?method=writeToFile");
>>>>
>>>> }
>>>> }
>>>>
>>>> MyTest-context.xml (spring context config)...
>>>>
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>
>>>> <!-- Configures the Camel Context-->
>>>>
>>>> <beans xmlns="http://www.springframework.org/schema/beans"
>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>> xmlns:amq="http://activemq.apache.org/schema/core"
>>>> xsi:schemaLocation="http://www.springframework.org/schema/beans
>>>>
>>>> http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
>>>> http://camel.apache.org/schema/spring
>>>> http://camel.apache.org/schema/spring/camel-spring.xsd
>>>> http://activemq.apache.org/schema/core
>>>> http://activemq.apache.org/schema/core/activemq-core.xsd">
>>>>
>>>> <bean id="activemq"
>>>> class="org.apache.activemq.camel.component.ActiveMQComponent">
>>>> <property name="brokerURL" value="tcp://localhost:61616" />
>>>>
>>>> </bean>
>>>>
>>>>
>>>> <bean id="eventbroker"
>>>> class="test.com.firstclarity.eventbroker.SimpleEventBroker"/>
>>>>
>>>> <camelContext xmlns="http://camel.apache.org/schema/spring">
>>>> <package>test.com.firstclarity.eventbroker</package>
>>>> </camelContext>
>>>>
>>>> </beans>
>>>>
>>>>
>>>> My maven pom
>>>>
>>>> <project>
>>>>
>>>> ...
>>>>
>>>> <properties>
>>>> <camel-version>2.0.0</camel-version>
>>>> <activemq-version>5.2.0</activemq-version>
>>>> <xbean-spring-version>3.5</xbean-spring-version>
>>>> <log4j-version>1.2.14</log4j-version>
>>>> </properties>
>>>>
>>>> <dependencies>
>>>>
>>>> ...
>>>> ...
>>>>
>>>> <dependency>
>>>> <groupId>org.springframework</groupId>
>>>> <artifactId>spring-test</artifactId>
>>>> <version>2.5.6</version>
>>>> <scope>test</scope>
>>>> </dependency>
>>>>
>>>> <dependency>
>>>> <groupId>org.springframework</groupId>
>>>> <artifactId>spring-context</artifactId>
>>>> <version>2.5.6</version>
>>>> </dependency>
>>>>
>>>> <dependency>
>>>> <groupId>opensymphony</groupId>
>>>> <artifactId>quartz-all</artifactId>
>>>> <version>1.6.3</version>
>>>> </dependency>
>>>>
>>>> <dependency>
>>>> <groupId>org.apache.activemq</groupId>
>>>> <artifactId>activemq-core</artifactId>
>>>> <version>${activemq-version}</version>
>>>> </dependency>
>>>> <dependency>
>>>> <groupId>org.apache.activemq</groupId>
>>>> <artifactId>activemq-camel</artifactId>
>>>> <version>${activemq-version}</version>
>>>> </dependency>
>>>> <dependency>
>>>> <groupId>org.apache.camel</groupId>
>>>> <artifactId>camel-core</artifactId>
>>>> <version>${camel-version}</version>
>>>> </dependency>
>>>>
>>>> <dependency>
>>>> <groupId>org.apache.camel</groupId>
>>>> <artifactId>camel-stream</artifactId>
>>>> <version>${camel-version}</version>
>>>> </dependency>
>>>>
>>>> <dependency>
>>>> <groupId>org.apache.camel</groupId>
>>>> <artifactId>camel-jms</artifactId>
>>>> <version>${camel-version}</version>
>>>> </dependency>
>>>> <dependency>
>>>> <groupId>org.apache.camel</groupId>
>>>> <artifactId>camel-spring</artifactId>
>>>> <version>${camel-version}</version>
>>>> </dependency>
>>>> <dependency>
>>>> <groupId>org.apache.xbean</groupId>
>>>> <artifactId>xbean-spring</artifactId>
>>>> <version>${xbean-spring-version}</version>
>>>> </dependency>
>>>>
>>>> ...
>>>> ...
>>>>
>>>> </dependencies>
>>>> ...
>>>> </project>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/newbie-trying-to-get-messages-off-activemq-and-route-them-using-camel-tp25385346p25385346.html
>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Claus Ibsen
>>> Apache Camel Committer
>>>
>>> Open Source Integration: http://fusesource.com
>>> Blog: http://davsclaus.blogspot.com/
>>> Twitter: http://twitter.com/davsclaus
>>>
>>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/newbie-trying-to-get-messages-off-activemq-and-route-them-using-camel-tp25385346p25386435.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>
>>
>
>
>
> --
> Claus Ibsen
> Apache Camel Committer
>
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
>
>
--
View this message in context:
http://www.nabble.com/newbie-trying-to-get-messages-off-activemq-and-route-them-using-camel-tp25385346p25387576.html
Sent from the Camel - Users mailing list archive at Nabble.com.