Hey - I have tried to figure this problem out but I am still stuck! I am trying to write a simple program pair that will just bounce strings around! I have a simple "bounceService" and a simple "senderService". The bounceService just needs to start a activemqBroker and hookup to some queue. The other just connects from a different machine (or the same...) and sends a message. It just wants to see that back.
I am unsure if the messages are getting through. Rather, I am pretty sure they aren't... If you could take a quick peek, it would be immensely helpful. First! the bouceService: --------------------------- SPRING APPLICATION CONTEXT ------------------------------------- <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:camel="http://camel.apache.org/schema/spring" xmlns:amq="http://activemq.apache.org/schema/core" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd "> <!-- xmlns:broker="http://activemq.apache.org/schema/core" --> <context:component-scan base-package="com" /> <context:property-placeholder location="classpath:properties/*.properties" /> <bean id="bounceService" class="com.service.BounceService"> <constructor-arg index="0"><ref bean="testCamelContext" /></constructor-arg> </bean> <camel:camelContext id="testCamelContext"> <!-- <camel:package>com.camel</camel:package> --> <camel:route id="SIMPLE_BOUNCE"> <camel:description> Takes a message from the amq broker and puts turns it back around. </camel:description> <camel:from uri="activemq:test:bounce" /> <camel:bean ref="bounceService" method="bounceString" /> </camel:route> </camel:camelContext> <!-- Setup a broker for testing --> <!-- <amq:transportConnector name="stomp" uri="tcp://localhost:61613" /> --> <amq:broker persistent="false"> <amq:transportConnectors> <amq:transportConnector name="openWire" uri="tcp://localhost:9091" /> </amq:transportConnectors> </amq:broker> <bean id="activemqBroker" class="org.apache.activemq.camel.component.ActiveMQComponent"> <property name="brokerURL" value="tcp://localhost:9091" /> </bean> <!-- Traces flow of messages --> <bean id="traceFormatter" class="org.apache.camel.processor.interceptor.DefaultTraceFormatter"> <property name="showBody" value="false" /> <property name="showBodyType" value="true" /> <property name="showBreadCrumb" value="false" /> <property name="maxChars" value="1000" /> </bean> </beans> --------------------------------------- THE bounceService -------------------------------------------- package com.service; import org.apache.camel.CamelContext; import org.apache.camel.Handler; import org.apache.camel.ProducerTemplate; import org.apache.camel.Route; import org.springframework.stereotype.Service; @Service(value = "bounceService") public class BounceService { public BounceService (CamelContext camelContext) { System.out.println ("***************************************"); System.out.println ("Camel context: " + camelContext.getName ()); for (Route r : camelContext.getRoutes ()) { System.out.println (r.getEndpoint ()); } System.out.println ("***************************************"); } @Handler public String bounceString (String inStr) { String outStr = "RET_" + inStr; System.out.println ("---------------- START ----------------"); System.out.println ("Got this message: " + inStr); System.out.println ("Returning this message " + outStr); System.out.println ("----------------- END -----------------"); return outStr; } } On to the senderService: ------------------------------------- SENDER SERVICE SPRING---------------------------------------- <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:camel="http://camel.apache.org/schema/spring" xmlns:amq="http://activemq.apache.org/schema/core" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd "> <context:component-scan base-package="com" /> <context:property-placeholder location="classpath:properties/*.properties" /> <bean id="senderService" class="com.service.SenderService"> <constructor-arg index="0"><ref bean="testCamelContext" /></constructor-arg> </bean> <camel:camelContext id="testCamelContext"> <camel:package>com.camel</camel:package> <camel:route id="Timer_to_request"> <camel:from uri="timer://testBounce?fixedRate=true&period=2000" /> <camel:to uri="bean:senderService?method=sendString" /> </camel:route> <camel:route id="service_to_bounce"> <camel:from uri="bean:senderService?method=sendString" /> <camel:to uri="activemq:test:bounce" /> </camel:route> </camel:camelContext> <!-- Setup a broker for testing --> <!-- <amq:transportConnector name="stomp" uri="tcp://localhost:61613" /> <amq:broker> <amq:transportConnectors> <amq:transportConnector name="openWire" uri="tcp://localhost:9091" /> </amq:transportConnectors> </amq:broker> --> <bean id="activemqBroker" class="org.apache.activemq.camel.component.ActiveMQComponent"> <property name="brokerURL" value="tcp://localhost:9091" /> </bean> <!-- Traces flow of messages --> <bean id="traceFormatter" class="org.apache.camel.processor.interceptor.DefaultTraceFormatter"> <property name="showBody" value="false" /> <property name="showBodyType" value="true" /> <property name="showBreadCrumb" value="false" /> <property name="maxChars" value="1000" /> </bean> </beans> ---------------------------------------------------- the senderService ------------------------------------------------------------------------------------------------------------------ package com.service; import org.apache.camel.CamelContext; import org.apache.camel.Handler; import org.apache.camel.ProducerTemplate; import org.apache.camel.Route; import org.springframework.stereotype.Service; @Service(value = "senderService") public class SenderService { public SenderService (CamelContext camelContext) { System.out.println ("***************************************"); System.out.println ("Camel context: " + camelContext.getName ()); for (Route r : camelContext.getRoutes ()) { System.out.println (r.getEndpoint ()); } System.out.println ("***************************************"); } @Handler public String sendString () { return "This is a dumb test - it should just do a round Trip..."; } @Handler public void receiveString (String inStr) { System.out.println ("---------------- START ----------------"); System.out.println ("Got this message: " + inStr); System.out.println ("----------------- END -----------------"); } /** * called by some event...that triggers the request */ public void causeInteraction () { // some event... sendString (); } } The "openWire" connection seems to take: (from bounceService) 12:31:43,877 INFO TransportServerThreadSupport:72 - Listening for connections at: tcp://northstar.appsig.com:9091 12:31:43,877 INFO TransportConnector:252 - Connector openWire Started but i get this error (scrolling): 12:31:44,466 DEBUG SpringCamelContext:1842 - Route: SIMPLE_BOUNCE >>> EventDrivenConsumerRoute[Endpoint[activemq://test:bounce] ->instrumentation:route[UnitOfWork(Channel[BeanProcessor[bean: bounceService]])]] 12:31:44,466 DEBUG SpringCamelContext:1846 - Starting consumer (order: 1000) on route: SIMPLE_BOUNCE 12:31:44,474 DEBUG DefaultManagementAgent:314 - Registered MBean with objectname: org.apache.camel:context=northstar.appsig.com/testCamelContext,type=consumers,name=JmsConsumer(0x1c90a278) 12:31:44,474 DEBUG JmsConsumer:91 - Starting consumer: Consumer[activemq://test:bounce] 12:31:44,486 DEBUG FailoverTransport:663 - Reconnect was triggered but transport is not started yet . Wait for start to connect the transport. 12:31:44,495 DEBUG FailoverTransport:297 - Started. 12:31:44,496 DEBUG FailoverTransport:656 - Waking up reconnect task 12:31:44,497 DEBUG FailoverTransport:686 - urlList connectionList:[tcp://localhost:61616] 12:31:44,499 DEBUG FailoverTransport:840 - Attempting connect to: tcp://localhost:61616 12:31:44,503 DEBUG DefaultMessageListenerContainer:372 - Established shared JMS Connection 12:31:44,504 DEBUG DefaultMessageListenerContainer:539 - Resumed paused task: org.springframework.j ms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker@64b25680 12:31:44,544 DEBUG FailoverTransport:884 - Connect fail to: tcp://localhost:61616, reason: java.net.ConnectException: Connection refused 12:31:44,545 DEBUG TcpTransport:508 - Stopping transport tcp://localhost:61616 I am unsure why it is trying to use localhost:61616???? And i don't see a connection in the senderService, only the timer going off... Again any help would be great, I am pretty sure this is just originating from my lack of knowledge. Thanks in advance!!!
