You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Lars Gohlke (JIRA)" <ji...@apache.org> on 2010/11/11 15:27:21 UTC

[jira] Created: (CAMEL-3328) NPE on Request-Reply InOut (Test attached)

NPE on Request-Reply InOut (Test attached)
------------------------------------------

                 Key: CAMEL-3328
                 URL: https://issues.apache.org/activemq/browse/CAMEL-3328
             Project: Apache Camel
          Issue Type: Bug
          Components: camel-jms
    Affects Versions: 2.5.0
         Environment: Linux rudi-duo 2.6.32-24-generic-pae #43-Ubuntu SMP Thu Sep 16 15:30:27 UTC 2010 i686 GNU/Linux
java 1.6.0.22
            Reporter: Lars Gohlke


simply request reply with ActiveMQ 5.4.1 using a queue is failing in v2.5 instead is running in v.2.4

<code>
import static org.junit.Assert.assertTrue;

import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
import org.apache.camel.ExchangePattern;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.jms.JmsComponent;
import org.apache.camel.impl.DefaultCamelContext;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class RequestReplyFailureTest
{
	private Endpoint			endpoint;
	private Producer			producer;
	private DefaultCamelContext	camel;

	@Before
	public void before() throws Exception
	{
		String brokerUrl = "tcp://localhost:61616";
		camel = new DefaultCamelContext();
		camel.addComponent("jms", JmsComponent.jmsComponentAutoAcknowledge(new ActiveMQConnectionFactory(brokerUrl)));

		final String url = "jms:queue:test";
		endpoint = camel.getEndpoint(url);

		camel.addRoutes(new RouteBuilder()
		{
			@Override
			public void configure() throws Exception
			{
				from(url).process(new Processor()
				{
					@Override
					public void process(Exchange exchange) throws Exception
					{
						// simply set 'pong' as response
						exchange.getOut().setBody("pong");
					}
				});
			}
		});

		System.out.println(camel.getVersion());
		camel.start();

		producer = endpoint.createProducer();
	}

	@After
	public void after() throws Exception
	{
		camel.stop();
	}

	/**
	 * @throws Exception
	 */
	@Test
	public void testInOut() throws Exception
	{
		Exchange exchange = endpoint.createExchange(ExchangePattern.InOut);
		exchange.getIn().setBody("ping");
		producer.process(exchange);

		assertTrue("pong".equals(exchange.getOut().getBody()));
	}
}
</code>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CAMEL-3328) NPE on Request-Reply InOut (Test attached)

Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/CAMEL-3328?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=63261#action_63261 ] 

Claus Ibsen commented on CAMEL-3328:
------------------------------------

What error do you get? Can you post your stacktrace.

The unit test works fine for me, however I use the Camel Test Kit for the unit test as it will be part of camel-jms unit tests.

> NPE on Request-Reply InOut (Test attached)
> ------------------------------------------
>
>                 Key: CAMEL-3328
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-3328
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-jms
>    Affects Versions: 2.5.0
>         Environment: Linux rudi-duo 2.6.32-24-generic-pae #43-Ubuntu SMP Thu Sep 16 15:30:27 UTC 2010 i686 GNU/Linux
> java 1.6.0.22
>            Reporter: Lars Gohlke
>            Assignee: Claus Ibsen
>
> simply request reply with ActiveMQ 5.4.1 using a queue is failing in v2.5 instead is running in v.2.4
> {code:java} 
> import static org.junit.Assert.assertTrue;
> import org.apache.activemq.ActiveMQConnectionFactory;
> import org.apache.camel.Endpoint;
> import org.apache.camel.Exchange;
> import org.apache.camel.ExchangePattern;
> import org.apache.camel.Processor;
> import org.apache.camel.Producer;
> import org.apache.camel.builder.RouteBuilder;
> import org.apache.camel.component.jms.JmsComponent;
> import org.apache.camel.impl.DefaultCamelContext;
> import org.junit.After;
> import org.junit.Before;
> import org.junit.Test;
> public class RequestReplyFailureTest
> {
> 	private Endpoint			endpoint;
> 	private Producer			producer;
> 	private DefaultCamelContext	camel;
> 	@Before
> 	public void before() throws Exception
> 	{
> 		String brokerUrl = "tcp://localhost:61616";
> 		camel = new DefaultCamelContext();
> 		camel.addComponent("jms", JmsComponent.jmsComponentAutoAcknowledge(new ActiveMQConnectionFactory(brokerUrl)));
> 		final String url = "jms:queue:test";
> 		endpoint = camel.getEndpoint(url);
> 		camel.addRoutes(new RouteBuilder()
> 		{
> 			@Override
> 			public void configure() throws Exception
> 			{
> 				from(url).process(new Processor()
> 				{
> 					@Override
> 					public void process(Exchange exchange) throws Exception
> 					{
> 						// simply set 'pong' as response
> 						exchange.getOut().setBody("pong");
> 					}
> 				});
> 			}
> 		});
> 		System.out.println(camel.getVersion());
> 		camel.start();
> 		producer = endpoint.createProducer();
> 	}
> 	@After
> 	public void after() throws Exception
> 	{
> 		camel.stop();
> 	}
> 	/**
> 	 * @throws Exception
> 	 */
> 	@Test
> 	public void testInOut() throws Exception
> 	{
> 		Exchange exchange = endpoint.createExchange(ExchangePattern.InOut);
> 		exchange.getIn().setBody("ping");
> 		producer.process(exchange);
> 		assertTrue("pong".equals(exchange.getOut().getBody()));
> 	}
> {code} 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CAMEL-3328) NPE on Request-Reply InOut (Test attached)

Posted by "Lars Gohlke (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/CAMEL-3328?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=63264#action_63264 ] 

Lars Gohlke commented on CAMEL-3328:
------------------------------------

ur posted test runs in both versions,

what is different or wrong?

I dont see the point.

> NPE on Request-Reply InOut (Test attached)
> ------------------------------------------
>
>                 Key: CAMEL-3328
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-3328
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-jms
>    Affects Versions: 2.5.0
>         Environment: Linux rudi-duo 2.6.32-24-generic-pae #43-Ubuntu SMP Thu Sep 16 15:30:27 UTC 2010 i686 GNU/Linux
> java 1.6.0.22
>            Reporter: Lars Gohlke
>            Assignee: Claus Ibsen
>
> simply request reply with ActiveMQ 5.4.1 using a queue is failing in v2.5 instead is running in v.2.4
> {code:java} 
> import static org.junit.Assert.assertTrue;
> import org.apache.activemq.ActiveMQConnectionFactory;
> import org.apache.camel.Endpoint;
> import org.apache.camel.Exchange;
> import org.apache.camel.ExchangePattern;
> import org.apache.camel.Processor;
> import org.apache.camel.Producer;
> import org.apache.camel.builder.RouteBuilder;
> import org.apache.camel.component.jms.JmsComponent;
> import org.apache.camel.impl.DefaultCamelContext;
> import org.junit.After;
> import org.junit.Before;
> import org.junit.Test;
> public class RequestReplyFailureTest
> {
> 	private Endpoint			endpoint;
> 	private Producer			producer;
> 	private DefaultCamelContext	camel;
> 	@Before
> 	public void before() throws Exception
> 	{
> 		String brokerUrl = "tcp://localhost:61616";
> 		camel = new DefaultCamelContext();
> 		camel.addComponent("jms", JmsComponent.jmsComponentAutoAcknowledge(new ActiveMQConnectionFactory(brokerUrl)));
> 		final String url = "jms:queue:test";
> 		endpoint = camel.getEndpoint(url);
> 		camel.addRoutes(new RouteBuilder()
> 		{
> 			@Override
> 			public void configure() throws Exception
> 			{
> 				from(url).process(new Processor()
> 				{
> 					@Override
> 					public void process(Exchange exchange) throws Exception
> 					{
> 						// simply set 'pong' as response
> 						exchange.getOut().setBody("pong");
> 					}
> 				});
> 			}
> 		});
> 		System.out.println(camel.getVersion());
> 		camel.start();
> 		producer = endpoint.createProducer();
> 	}
> 	@After
> 	public void after() throws Exception
> 	{
> 		camel.stop();
> 	}
> 	/**
> 	 * @throws Exception
> 	 */
> 	@Test
> 	public void testInOut() throws Exception
> 	{
> 		Exchange exchange = endpoint.createExchange(ExchangePattern.InOut);
> 		exchange.getIn().setBody("ping");
> 		producer.process(exchange);
> 		assertTrue("pong".equals(exchange.getOut().getBody()));
> 	}
> {code} 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CAMEL-3328) NPE on Request-Reply InOut (Test attached)

Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/CAMEL-3328?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=63262#action_63262 ] 

Claus Ibsen commented on CAMEL-3328:
------------------------------------

See this unit test which works
http://svn.apache.org/viewvc?rev=1033961&view=rev

> NPE on Request-Reply InOut (Test attached)
> ------------------------------------------
>
>                 Key: CAMEL-3328
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-3328
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-jms
>    Affects Versions: 2.5.0
>         Environment: Linux rudi-duo 2.6.32-24-generic-pae #43-Ubuntu SMP Thu Sep 16 15:30:27 UTC 2010 i686 GNU/Linux
> java 1.6.0.22
>            Reporter: Lars Gohlke
>            Assignee: Claus Ibsen
>
> simply request reply with ActiveMQ 5.4.1 using a queue is failing in v2.5 instead is running in v.2.4
> {code:java} 
> import static org.junit.Assert.assertTrue;
> import org.apache.activemq.ActiveMQConnectionFactory;
> import org.apache.camel.Endpoint;
> import org.apache.camel.Exchange;
> import org.apache.camel.ExchangePattern;
> import org.apache.camel.Processor;
> import org.apache.camel.Producer;
> import org.apache.camel.builder.RouteBuilder;
> import org.apache.camel.component.jms.JmsComponent;
> import org.apache.camel.impl.DefaultCamelContext;
> import org.junit.After;
> import org.junit.Before;
> import org.junit.Test;
> public class RequestReplyFailureTest
> {
> 	private Endpoint			endpoint;
> 	private Producer			producer;
> 	private DefaultCamelContext	camel;
> 	@Before
> 	public void before() throws Exception
> 	{
> 		String brokerUrl = "tcp://localhost:61616";
> 		camel = new DefaultCamelContext();
> 		camel.addComponent("jms", JmsComponent.jmsComponentAutoAcknowledge(new ActiveMQConnectionFactory(brokerUrl)));
> 		final String url = "jms:queue:test";
> 		endpoint = camel.getEndpoint(url);
> 		camel.addRoutes(new RouteBuilder()
> 		{
> 			@Override
> 			public void configure() throws Exception
> 			{
> 				from(url).process(new Processor()
> 				{
> 					@Override
> 					public void process(Exchange exchange) throws Exception
> 					{
> 						// simply set 'pong' as response
> 						exchange.getOut().setBody("pong");
> 					}
> 				});
> 			}
> 		});
> 		System.out.println(camel.getVersion());
> 		camel.start();
> 		producer = endpoint.createProducer();
> 	}
> 	@After
> 	public void after() throws Exception
> 	{
> 		camel.stop();
> 	}
> 	/**
> 	 * @throws Exception
> 	 */
> 	@Test
> 	public void testInOut() throws Exception
> 	{
> 		Exchange exchange = endpoint.createExchange(ExchangePattern.InOut);
> 		exchange.getIn().setBody("ping");
> 		producer.process(exchange);
> 		assertTrue("pong".equals(exchange.getOut().getBody()));
> 	}
> {code} 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CAMEL-3328) NPE on Request-Reply InOut (Test attached)

Posted by "Lars Gohlke (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/CAMEL-3328?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lars Gohlke updated CAMEL-3328:
-------------------------------

    Description: 
simply request reply with ActiveMQ 5.4.1 using a queue is failing in v2.5 instead is running in v.2.4

{code:java} 
import static org.junit.Assert.assertTrue;

import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
import org.apache.camel.ExchangePattern;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.jms.JmsComponent;
import org.apache.camel.impl.DefaultCamelContext;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class RequestReplyFailureTest
{
	private Endpoint			endpoint;
	private Producer			producer;
	private DefaultCamelContext	camel;

	@Before
	public void before() throws Exception
	{
		String brokerUrl = "tcp://localhost:61616";
		camel = new DefaultCamelContext();
		camel.addComponent("jms", JmsComponent.jmsComponentAutoAcknowledge(new ActiveMQConnectionFactory(brokerUrl)));

		final String url = "jms:queue:test";
		endpoint = camel.getEndpoint(url);

		camel.addRoutes(new RouteBuilder()
		{
			@Override
			public void configure() throws Exception
			{
				from(url).process(new Processor()
				{
					@Override
					public void process(Exchange exchange) throws Exception
					{
						// simply set 'pong' as response
						exchange.getOut().setBody("pong");
					}
				});
			}
		});

		System.out.println(camel.getVersion());
		camel.start();

		producer = endpoint.createProducer();
	}

	@After
	public void after() throws Exception
	{
		camel.stop();
	}

	/**
	 * @throws Exception
	 */
	@Test
	public void testInOut() throws Exception
	{
		Exchange exchange = endpoint.createExchange(ExchangePattern.InOut);
		exchange.getIn().setBody("ping");
		producer.process(exchange);

		assertTrue("pong".equals(exchange.getOut().getBody()));
	}
{code} 

  was:
simply request reply with ActiveMQ 5.4.1 using a queue is failing in v2.5 instead is running in v.2.4

<code>
import static org.junit.Assert.assertTrue;

import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
import org.apache.camel.ExchangePattern;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.jms.JmsComponent;
import org.apache.camel.impl.DefaultCamelContext;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class RequestReplyFailureTest
{
	private Endpoint			endpoint;
	private Producer			producer;
	private DefaultCamelContext	camel;

	@Before
	public void before() throws Exception
	{
		String brokerUrl = "tcp://localhost:61616";
		camel = new DefaultCamelContext();
		camel.addComponent("jms", JmsComponent.jmsComponentAutoAcknowledge(new ActiveMQConnectionFactory(brokerUrl)));

		final String url = "jms:queue:test";
		endpoint = camel.getEndpoint(url);

		camel.addRoutes(new RouteBuilder()
		{
			@Override
			public void configure() throws Exception
			{
				from(url).process(new Processor()
				{
					@Override
					public void process(Exchange exchange) throws Exception
					{
						// simply set 'pong' as response
						exchange.getOut().setBody("pong");
					}
				});
			}
		});

		System.out.println(camel.getVersion());
		camel.start();

		producer = endpoint.createProducer();
	}

	@After
	public void after() throws Exception
	{
		camel.stop();
	}

	/**
	 * @throws Exception
	 */
	@Test
	public void testInOut() throws Exception
	{
		Exchange exchange = endpoint.createExchange(ExchangePattern.InOut);
		exchange.getIn().setBody("ping");
		producer.process(exchange);

		assertTrue("pong".equals(exchange.getOut().getBody()));
	}
}
</code>


formatting

> NPE on Request-Reply InOut (Test attached)
> ------------------------------------------
>
>                 Key: CAMEL-3328
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-3328
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-jms
>    Affects Versions: 2.5.0
>         Environment: Linux rudi-duo 2.6.32-24-generic-pae #43-Ubuntu SMP Thu Sep 16 15:30:27 UTC 2010 i686 GNU/Linux
> java 1.6.0.22
>            Reporter: Lars Gohlke
>
> simply request reply with ActiveMQ 5.4.1 using a queue is failing in v2.5 instead is running in v.2.4
> {code:java} 
> import static org.junit.Assert.assertTrue;
> import org.apache.activemq.ActiveMQConnectionFactory;
> import org.apache.camel.Endpoint;
> import org.apache.camel.Exchange;
> import org.apache.camel.ExchangePattern;
> import org.apache.camel.Processor;
> import org.apache.camel.Producer;
> import org.apache.camel.builder.RouteBuilder;
> import org.apache.camel.component.jms.JmsComponent;
> import org.apache.camel.impl.DefaultCamelContext;
> import org.junit.After;
> import org.junit.Before;
> import org.junit.Test;
> public class RequestReplyFailureTest
> {
> 	private Endpoint			endpoint;
> 	private Producer			producer;
> 	private DefaultCamelContext	camel;
> 	@Before
> 	public void before() throws Exception
> 	{
> 		String brokerUrl = "tcp://localhost:61616";
> 		camel = new DefaultCamelContext();
> 		camel.addComponent("jms", JmsComponent.jmsComponentAutoAcknowledge(new ActiveMQConnectionFactory(brokerUrl)));
> 		final String url = "jms:queue:test";
> 		endpoint = camel.getEndpoint(url);
> 		camel.addRoutes(new RouteBuilder()
> 		{
> 			@Override
> 			public void configure() throws Exception
> 			{
> 				from(url).process(new Processor()
> 				{
> 					@Override
> 					public void process(Exchange exchange) throws Exception
> 					{
> 						// simply set 'pong' as response
> 						exchange.getOut().setBody("pong");
> 					}
> 				});
> 			}
> 		});
> 		System.out.println(camel.getVersion());
> 		camel.start();
> 		producer = endpoint.createProducer();
> 	}
> 	@After
> 	public void after() throws Exception
> 	{
> 		camel.stop();
> 	}
> 	/**
> 	 * @throws Exception
> 	 */
> 	@Test
> 	public void testInOut() throws Exception
> 	{
> 		Exchange exchange = endpoint.createExchange(ExchangePattern.InOut);
> 		exchange.getIn().setBody("ping");
> 		producer.process(exchange);
> 		assertTrue("pong".equals(exchange.getOut().getBody()));
> 	}
> {code} 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CAMEL-3328) NPE on Request-Reply InOut (Test attached)

Posted by "Lars Gohlke (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/CAMEL-3328?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=63263#action_63263 ] 

Lars Gohlke commented on CAMEL-3328:
------------------------------------

sry, this is my stacktrace

java.lang.NullPointerException
	at org.apache.camel.component.jms.JmsProducer.processInOut(JmsProducer.java:140)
	at org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:90)
	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:91)
	at org.apache.camel.impl.DefaultAsyncProducer.process(DefaultAsyncProducer.java:37)
	at de.lgohlke.services.simulate.RequestReplyFailureTest.testInOut(RequestReplyFailureTest.java:71)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)



> NPE on Request-Reply InOut (Test attached)
> ------------------------------------------
>
>                 Key: CAMEL-3328
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-3328
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-jms
>    Affects Versions: 2.5.0
>         Environment: Linux rudi-duo 2.6.32-24-generic-pae #43-Ubuntu SMP Thu Sep 16 15:30:27 UTC 2010 i686 GNU/Linux
> java 1.6.0.22
>            Reporter: Lars Gohlke
>            Assignee: Claus Ibsen
>
> simply request reply with ActiveMQ 5.4.1 using a queue is failing in v2.5 instead is running in v.2.4
> {code:java} 
> import static org.junit.Assert.assertTrue;
> import org.apache.activemq.ActiveMQConnectionFactory;
> import org.apache.camel.Endpoint;
> import org.apache.camel.Exchange;
> import org.apache.camel.ExchangePattern;
> import org.apache.camel.Processor;
> import org.apache.camel.Producer;
> import org.apache.camel.builder.RouteBuilder;
> import org.apache.camel.component.jms.JmsComponent;
> import org.apache.camel.impl.DefaultCamelContext;
> import org.junit.After;
> import org.junit.Before;
> import org.junit.Test;
> public class RequestReplyFailureTest
> {
> 	private Endpoint			endpoint;
> 	private Producer			producer;
> 	private DefaultCamelContext	camel;
> 	@Before
> 	public void before() throws Exception
> 	{
> 		String brokerUrl = "tcp://localhost:61616";
> 		camel = new DefaultCamelContext();
> 		camel.addComponent("jms", JmsComponent.jmsComponentAutoAcknowledge(new ActiveMQConnectionFactory(brokerUrl)));
> 		final String url = "jms:queue:test";
> 		endpoint = camel.getEndpoint(url);
> 		camel.addRoutes(new RouteBuilder()
> 		{
> 			@Override
> 			public void configure() throws Exception
> 			{
> 				from(url).process(new Processor()
> 				{
> 					@Override
> 					public void process(Exchange exchange) throws Exception
> 					{
> 						// simply set 'pong' as response
> 						exchange.getOut().setBody("pong");
> 					}
> 				});
> 			}
> 		});
> 		System.out.println(camel.getVersion());
> 		camel.start();
> 		producer = endpoint.createProducer();
> 	}
> 	@After
> 	public void after() throws Exception
> 	{
> 		camel.stop();
> 	}
> 	/**
> 	 * @throws Exception
> 	 */
> 	@Test
> 	public void testInOut() throws Exception
> 	{
> 		Exchange exchange = endpoint.createExchange(ExchangePattern.InOut);
> 		exchange.getIn().setBody("ping");
> 		producer.process(exchange);
> 		assertTrue("pong".equals(exchange.getOut().getBody()));
> 	}
> {code} 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (CAMEL-3328) NPE on Request-Reply InOut (Test attached)

Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/CAMEL-3328?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Ibsen resolved CAMEL-3328.
--------------------------------

       Resolution: Fixed
    Fix Version/s: 2.6.0

trunk: 1034004.

camel-jms now throws an exception if it hasnt been started tell the end user that it must be started before it can be used

> NPE on Request-Reply InOut (Test attached)
> ------------------------------------------
>
>                 Key: CAMEL-3328
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-3328
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-jms
>    Affects Versions: 2.5.0
>         Environment: Linux rudi-duo 2.6.32-24-generic-pae #43-Ubuntu SMP Thu Sep 16 15:30:27 UTC 2010 i686 GNU/Linux
> java 1.6.0.22
>            Reporter: Lars Gohlke
>            Assignee: Claus Ibsen
>             Fix For: 2.6.0
>
>
> simply request reply with ActiveMQ 5.4.1 using a queue is failing in v2.5 instead is running in v.2.4
> {code:java} 
> import static org.junit.Assert.assertTrue;
> import org.apache.activemq.ActiveMQConnectionFactory;
> import org.apache.camel.Endpoint;
> import org.apache.camel.Exchange;
> import org.apache.camel.ExchangePattern;
> import org.apache.camel.Processor;
> import org.apache.camel.Producer;
> import org.apache.camel.builder.RouteBuilder;
> import org.apache.camel.component.jms.JmsComponent;
> import org.apache.camel.impl.DefaultCamelContext;
> import org.junit.After;
> import org.junit.Before;
> import org.junit.Test;
> public class RequestReplyFailureTest
> {
> 	private Endpoint			endpoint;
> 	private Producer			producer;
> 	private DefaultCamelContext	camel;
> 	@Before
> 	public void before() throws Exception
> 	{
> 		String brokerUrl = "tcp://localhost:61616";
> 		camel = new DefaultCamelContext();
> 		camel.addComponent("jms", JmsComponent.jmsComponentAutoAcknowledge(new ActiveMQConnectionFactory(brokerUrl)));
> 		final String url = "jms:queue:test";
> 		endpoint = camel.getEndpoint(url);
> 		camel.addRoutes(new RouteBuilder()
> 		{
> 			@Override
> 			public void configure() throws Exception
> 			{
> 				from(url).process(new Processor()
> 				{
> 					@Override
> 					public void process(Exchange exchange) throws Exception
> 					{
> 						// simply set 'pong' as response
> 						exchange.getOut().setBody("pong");
> 					}
> 				});
> 			}
> 		});
> 		System.out.println(camel.getVersion());
> 		camel.start();
> 		producer = endpoint.createProducer();
> 	}
> 	@After
> 	public void after() throws Exception
> 	{
> 		camel.stop();
> 	}
> 	/**
> 	 * @throws Exception
> 	 */
> 	@Test
> 	public void testInOut() throws Exception
> 	{
> 		Exchange exchange = endpoint.createExchange(ExchangePattern.InOut);
> 		exchange.getIn().setBody("ping");
> 		producer.process(exchange);
> 		assertTrue("pong".equals(exchange.getOut().getBody()));
> 	}
> {code} 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (CAMEL-3328) NPE on Request-Reply InOut (Test attached)

Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/CAMEL-3328?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Ibsen reassigned CAMEL-3328:
----------------------------------

    Assignee: Claus Ibsen

> NPE on Request-Reply InOut (Test attached)
> ------------------------------------------
>
>                 Key: CAMEL-3328
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-3328
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-jms
>    Affects Versions: 2.5.0
>         Environment: Linux rudi-duo 2.6.32-24-generic-pae #43-Ubuntu SMP Thu Sep 16 15:30:27 UTC 2010 i686 GNU/Linux
> java 1.6.0.22
>            Reporter: Lars Gohlke
>            Assignee: Claus Ibsen
>
> simply request reply with ActiveMQ 5.4.1 using a queue is failing in v2.5 instead is running in v.2.4
> {code:java} 
> import static org.junit.Assert.assertTrue;
> import org.apache.activemq.ActiveMQConnectionFactory;
> import org.apache.camel.Endpoint;
> import org.apache.camel.Exchange;
> import org.apache.camel.ExchangePattern;
> import org.apache.camel.Processor;
> import org.apache.camel.Producer;
> import org.apache.camel.builder.RouteBuilder;
> import org.apache.camel.component.jms.JmsComponent;
> import org.apache.camel.impl.DefaultCamelContext;
> import org.junit.After;
> import org.junit.Before;
> import org.junit.Test;
> public class RequestReplyFailureTest
> {
> 	private Endpoint			endpoint;
> 	private Producer			producer;
> 	private DefaultCamelContext	camel;
> 	@Before
> 	public void before() throws Exception
> 	{
> 		String brokerUrl = "tcp://localhost:61616";
> 		camel = new DefaultCamelContext();
> 		camel.addComponent("jms", JmsComponent.jmsComponentAutoAcknowledge(new ActiveMQConnectionFactory(brokerUrl)));
> 		final String url = "jms:queue:test";
> 		endpoint = camel.getEndpoint(url);
> 		camel.addRoutes(new RouteBuilder()
> 		{
> 			@Override
> 			public void configure() throws Exception
> 			{
> 				from(url).process(new Processor()
> 				{
> 					@Override
> 					public void process(Exchange exchange) throws Exception
> 					{
> 						// simply set 'pong' as response
> 						exchange.getOut().setBody("pong");
> 					}
> 				});
> 			}
> 		});
> 		System.out.println(camel.getVersion());
> 		camel.start();
> 		producer = endpoint.createProducer();
> 	}
> 	@After
> 	public void after() throws Exception
> 	{
> 		camel.stop();
> 	}
> 	/**
> 	 * @throws Exception
> 	 */
> 	@Test
> 	public void testInOut() throws Exception
> 	{
> 		Exchange exchange = endpoint.createExchange(ExchangePattern.InOut);
> 		exchange.getIn().setBody("ping");
> 		producer.process(exchange);
> 		assertTrue("pong".equals(exchange.getOut().getBody()));
> 	}
> {code} 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CAMEL-3328) NPE on Request-Reply InOut (Test attached)

Posted by "Lars Gohlke (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/CAMEL-3328?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=63268#action_63268 ] 

Lars Gohlke commented on CAMEL-3328:
------------------------------------

ok, this solved my issue;

Maybe you can put a hint beside the NPE that, the producer should be started before using.

thx anyway

> NPE on Request-Reply InOut (Test attached)
> ------------------------------------------
>
>                 Key: CAMEL-3328
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-3328
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-jms
>    Affects Versions: 2.5.0
>         Environment: Linux rudi-duo 2.6.32-24-generic-pae #43-Ubuntu SMP Thu Sep 16 15:30:27 UTC 2010 i686 GNU/Linux
> java 1.6.0.22
>            Reporter: Lars Gohlke
>            Assignee: Claus Ibsen
>
> simply request reply with ActiveMQ 5.4.1 using a queue is failing in v2.5 instead is running in v.2.4
> {code:java} 
> import static org.junit.Assert.assertTrue;
> import org.apache.activemq.ActiveMQConnectionFactory;
> import org.apache.camel.Endpoint;
> import org.apache.camel.Exchange;
> import org.apache.camel.ExchangePattern;
> import org.apache.camel.Processor;
> import org.apache.camel.Producer;
> import org.apache.camel.builder.RouteBuilder;
> import org.apache.camel.component.jms.JmsComponent;
> import org.apache.camel.impl.DefaultCamelContext;
> import org.junit.After;
> import org.junit.Before;
> import org.junit.Test;
> public class RequestReplyFailureTest
> {
> 	private Endpoint			endpoint;
> 	private Producer			producer;
> 	private DefaultCamelContext	camel;
> 	@Before
> 	public void before() throws Exception
> 	{
> 		String brokerUrl = "tcp://localhost:61616";
> 		camel = new DefaultCamelContext();
> 		camel.addComponent("jms", JmsComponent.jmsComponentAutoAcknowledge(new ActiveMQConnectionFactory(brokerUrl)));
> 		final String url = "jms:queue:test";
> 		endpoint = camel.getEndpoint(url);
> 		camel.addRoutes(new RouteBuilder()
> 		{
> 			@Override
> 			public void configure() throws Exception
> 			{
> 				from(url).process(new Processor()
> 				{
> 					@Override
> 					public void process(Exchange exchange) throws Exception
> 					{
> 						// simply set 'pong' as response
> 						exchange.getOut().setBody("pong");
> 					}
> 				});
> 			}
> 		});
> 		System.out.println(camel.getVersion());
> 		camel.start();
> 		producer = endpoint.createProducer();
> 	}
> 	@After
> 	public void after() throws Exception
> 	{
> 		camel.stop();
> 	}
> 	/**
> 	 * @throws Exception
> 	 */
> 	@Test
> 	public void testInOut() throws Exception
> 	{
> 		Exchange exchange = endpoint.createExchange(ExchangePattern.InOut);
> 		exchange.getIn().setBody("ping");
> 		producer.process(exchange);
> 		assertTrue("pong".equals(exchange.getOut().getBody()));
> 	}
> {code} 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CAMEL-3328) NPE on Request-Reply InOut (Test attached)

Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/CAMEL-3328?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=63265#action_63265 ] 

Claus Ibsen commented on CAMEL-3328:
------------------------------------

Lars, you need to start your producer before you can use it

{code}
producer = endpoint.createProducer();
producer.start();
{code}

Likewise you should stop it when you are done using it, eg when you test is done

> NPE on Request-Reply InOut (Test attached)
> ------------------------------------------
>
>                 Key: CAMEL-3328
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-3328
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-jms
>    Affects Versions: 2.5.0
>         Environment: Linux rudi-duo 2.6.32-24-generic-pae #43-Ubuntu SMP Thu Sep 16 15:30:27 UTC 2010 i686 GNU/Linux
> java 1.6.0.22
>            Reporter: Lars Gohlke
>            Assignee: Claus Ibsen
>
> simply request reply with ActiveMQ 5.4.1 using a queue is failing in v2.5 instead is running in v.2.4
> {code:java} 
> import static org.junit.Assert.assertTrue;
> import org.apache.activemq.ActiveMQConnectionFactory;
> import org.apache.camel.Endpoint;
> import org.apache.camel.Exchange;
> import org.apache.camel.ExchangePattern;
> import org.apache.camel.Processor;
> import org.apache.camel.Producer;
> import org.apache.camel.builder.RouteBuilder;
> import org.apache.camel.component.jms.JmsComponent;
> import org.apache.camel.impl.DefaultCamelContext;
> import org.junit.After;
> import org.junit.Before;
> import org.junit.Test;
> public class RequestReplyFailureTest
> {
> 	private Endpoint			endpoint;
> 	private Producer			producer;
> 	private DefaultCamelContext	camel;
> 	@Before
> 	public void before() throws Exception
> 	{
> 		String brokerUrl = "tcp://localhost:61616";
> 		camel = new DefaultCamelContext();
> 		camel.addComponent("jms", JmsComponent.jmsComponentAutoAcknowledge(new ActiveMQConnectionFactory(brokerUrl)));
> 		final String url = "jms:queue:test";
> 		endpoint = camel.getEndpoint(url);
> 		camel.addRoutes(new RouteBuilder()
> 		{
> 			@Override
> 			public void configure() throws Exception
> 			{
> 				from(url).process(new Processor()
> 				{
> 					@Override
> 					public void process(Exchange exchange) throws Exception
> 					{
> 						// simply set 'pong' as response
> 						exchange.getOut().setBody("pong");
> 					}
> 				});
> 			}
> 		});
> 		System.out.println(camel.getVersion());
> 		camel.start();
> 		producer = endpoint.createProducer();
> 	}
> 	@After
> 	public void after() throws Exception
> 	{
> 		camel.stop();
> 	}
> 	/**
> 	 * @throws Exception
> 	 */
> 	@Test
> 	public void testInOut() throws Exception
> 	{
> 		Exchange exchange = endpoint.createExchange(ExchangePattern.InOut);
> 		exchange.getIn().setBody("ping");
> 		producer.process(exchange);
> 		assertTrue("pong".equals(exchange.getOut().getBody()));
> 	}
> {code} 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.