Can you give it a try to remove the whole broker-definition
(broker:broker) from your config a try again?

You are using the vm-transport-protocol and therefore, as I mentioned
in the last post, activemq creates automatically a broker. I also had
issues with missing messages as long as I had a broker-definition in
my config.



On Thu, Apr 26, 2012 at 15:56, javaxmlsoapdev <javaxmlsoap...@yahoo.com> wrote:
> Thanks all for taking time in responding. However it still doesn't work for
> me. May some stupid mistake? Any other ideas?
>
> here is how my route definition looks like in Java DSL
>
> @Component
> public class CustomRouter extends SpringRouteBuilder{
>        @Autowired
>        private CustomQProcessor customQProcessor;
>
>    public void configure() {
>        String sourceQName ="";
>        try {
>                        sourceQName =
> getContext().resolvePropertyPlaceholders("{{sourceQ.name}}");
>                } catch (Exception e) {
>
>                        e.printStackTrace();
>                }
>                from(sourceQName)
>                .transacted()
>                .process(customQProcessor)
>                .recipientList(header("recepientList")).parallelProcessing();
>        }
> }
>
> config is as below.
>
> <broker:broker id="broker" useJmx="false" persistent="true"
> brokerName="localhost">
>                <broker:transportConnectors>
>                        <broker:transportConnector uri="vm://localhost:61616"/>
>                </broker:transportConnectors>
>        </broker:broker>
>
>        <bean id="jmsTransactionManager"
> class="org.springframework.jms.connection.JmsTransactionManager">
>        <property name="connectionFactory" ref="pooledConnectionFactory"/>
>        </bean>
>        <bean id="jmsConnectionFactory"
> class="org.apache.activemq.ActiveMQConnectionFactory" depends-on="broker">
>                <property name="brokerURL" value="vm://localhost:61616" />
>        </bean>
>        <bean id="pooledConnectionFactory"
> class="org.apache.activemq.pool.PooledConnectionFactory">
>                <property name="maxConnections" value="5" />
>                <property name="connectionFactory" ref="jmsConnectionFactory" 
> />
>        </bean>
>
>        <bean id="jmsConfig"
> class="org.apache.camel.component.jms.JmsConfiguration">
>                <property name="connectionFactory" 
> ref="pooledConnectionFactory" />
>                <property name="transacted" value="true" />
>        </bean>
>
>        <bean id="activemq"
> class="org.apache.activemq.camel.component.ActiveMQComponent">
>                <property name="brokerURL" value="vm://localhost:61616"/>
>        </bean>
>
>
> Following is a test case which fails
>
> Endpoint sourceQendPoint = sourceQueue.getDefaultEndpoint();
>                RouteBuilder rb = new RouteBuilder(){
>                        public void configure() throws Exception{
>                                
> interceptSendToEndpoint("activemq:queue:destiQueue1")
>                                        .throwException(new 
> JMSException("Cannot publish to destiQueue1"));
>                        }
>                };
>                RouteDefinition eventRoute = 
> camelContext.getRouteDefinition("route1");
>                eventRoute.adviceWith((ModelCamelContext)camelContext, rb);
>
>                template.sendBody(sourceQendPoint,"Test message");
>                Thread.sleep(3000);
>                Object body = 
> consumer.receiveBodyNoWait("activemq:queue:ActiveMQ.DLQ");
>                assertNotNull("should not lose message",body);
>
> --
> View this message in context: 
> http://camel.465427.n5.nabble.com/Transacted-test-case-with-ActiveMQ-not-working-tp5666012p5667684.html
> Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to