You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2009/07/27 08:41:33 UTC
svn commit: r798037 - in /camel/branches/camel-1.x: ./
components/camel-jms/src/main/java/org/apache/camel/component/jms/
components/camel-jms/src/test/java/org/apache/camel/component/jms/
Author: davsclaus
Date: Mon Jul 27 06:41:33 2009
New Revision: 798037
URL: http://svn.apache.org/viewvc?rev=798037&view=rev
Log:
Merged revisions 798027 via svnmerge from
https://svn.apache.org/repos/asf/camel/trunk
........
r798027 | davsclaus | 2009-07-27 07:48:02 +0200 (Mon, 27 Jul 2009) | 1 line
CAMEL-1853: Using a custom Spring MessageConverter now possible for both sending and receiving jms messages.
........
Added:
camel/branches/camel-1.x/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeMessageConverterTest.java
- copied, changed from r798027, camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeMessageConverterTest.java
camel/branches/camel-1.x/components/camel-jms/src/test/java/org/apache/camel/component/jms/ProduceMessageConverterTest.java
- copied, changed from r798027, camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/ProduceMessageConverterTest.java
Modified:
camel/branches/camel-1.x/ (props changed)
camel/branches/camel-1.x/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java
Propchange: camel/branches/camel-1.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Jul 27 06:41:33 2009
@@ -1 +1 @@
-/camel/trunk:736980,739733,739904,740251,740295,740306,740596,740663,741848,742231,742705,742739,742854,742856,742898,742906,743613,743762,743773,743920,743959-743960,744123,745105,745367,745541,745751,745826,745978,746269,746872,746895,746962,747258,747678-747704,748392,748436,748821,749563-749564,749574,749628-749629,749936,749956,750017,750334,750396,750761,750796,752068,752117,752418,752751-752755,752764-752773,752956,753087,753101,753175,755136,755487,756313,756348,756870,756939,757636,757693,757743,757865,758539,758563,758600,758617,758692,758990,759362,759453,759887,759931,760003,760890,760909,760937,761194,761536,761583,761607,762047,762633,762650,762935,763095,763484,763551,765154,765686,765729,765743,765824,766016,766289,766584,766588,766590,766602,766673,767403,767824,768342,769239,769346,769368,769434,770172,770906,771303,773193,773446,773781,774192,774383,774658-774659,776198,776289,776504,776975,778102,778689-778701,779121,779143,779489,781314-781349,781775,781
923,781974,781993,782557,782594,782681,782886,782918-782923,783204,783248,783363,783639,783704,785564,785584,785599,787206,787581,787598,787605,787928,788393,789121,789703,790560,790936,791379,791476,791767,792038,792381,792398,792899,793359,793518,793547-793555,793862,793935,794237,794368,794550,794967,795790
+/camel/trunk:736980,739733,739904,740251,740295,740306,740596,740663,741848,742231,742705,742739,742854,742856,742898,742906,743613,743762,743773,743920,743959-743960,744123,745105,745367,745541,745751,745826,745978,746269,746872,746895,746962,747258,747678-747704,748392,748436,748821,749563-749564,749574,749628-749629,749936,749956,750017,750334,750396,750761,750796,752068,752117,752418,752751-752755,752764-752773,752956,753087,753101,753175,755136,755487,756313,756348,756870,756939,757636,757693,757743,757865,758539,758563,758600,758617,758692,758990,759362,759453,759887,759931,760003,760890,760909,760937,761194,761536,761583,761607,762047,762633,762650,762935,763095,763484,763551,765154,765686,765729,765743,765824,766016,766289,766584,766588,766590,766602,766673,767403,767824,768342,769239,769346,769368,769434,770172,770906,771303,773193,773446,773781,774192,774383,774658-774659,776198,776289,776504,776975,778102,778689-778701,779121,779143,779489,781314-781349,781775,781
923,781974,781993,782557,782594,782681,782886,782918-782923,783204,783248,783363,783639,783704,785564,785584,785599,787206,787581,787598,787605,787928,788393,789121,789703,790560,790936,791379,791476,791767,792038,792381,792398,792899,793359,793518,793547-793555,793862,793935,794237,794368,794550,794967,795790,798027
Propchange: camel/branches/camel-1.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: camel/branches/camel-1.x/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-1.x/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java?rev=798037&r1=798036&r2=798037&view=diff
==============================================================================
--- camel/branches/camel-1.x/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java (original)
+++ camel/branches/camel-1.x/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java Mon Jul 27 06:41:33 2009
@@ -86,6 +86,16 @@
*/
public Object extractBodyFromJms(Exchange exchange, Message message) {
try {
+ // is a custom message converter configured on endpoint then use it instead of doing the extraction
+ // based on message type
+ if (endpoint != null && endpoint.getConfiguration().getMessageConverter() != null) {
+ if (LOG.isTraceEnabled()) {
+ LOG.trace("Extracting body using a custom MessageConverter: "
+ + endpoint.getConfiguration().getMessageConverter() + " from JMS message: " + message);
+ }
+ return endpoint.getConfiguration().getMessageConverter().fromMessage(message);
+ }
+
if (message instanceof ObjectMessage) {
ObjectMessage objectMessage = (ObjectMessage)message;
return objectMessage.getObject();
@@ -294,6 +304,16 @@
protected Message createJmsMessage(Object body, Session session, CamelContext context)
throws JMSException {
+
+ if (endpoint != null && endpoint.getConfiguration().getMessageConverter() != null) {
+ if (LOG.isTraceEnabled()) {
+ LOG.trace("Creating JmsMessage using a custom MessageConverter: "
+ + endpoint.getConfiguration().getMessageConverter() + " with body: " + body);
+ }
+ return endpoint.getConfiguration().getMessageConverter().toMessage(body, session);
+ }
+
+
if (body instanceof Node) {
// lets convert the document to a String format
try {
@@ -377,7 +397,7 @@
}
/**
- * @deprecated Please use {@link DefaultHeaderFilterStrategy#setOutFilter()}
+ * @deprecated Please use {@link DefaultHeaderFilterStrategy#setOutFilter(java.util.Set)}
*/
public void setIgnoreJmsHeaders(Set<String> ignoreJmsHeaders) {
if (headerFilterStrategy instanceof DefaultHeaderFilterStrategy) {
Copied: camel/branches/camel-1.x/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeMessageConverterTest.java (from r798027, camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeMessageConverterTest.java)
URL: http://svn.apache.org/viewvc/camel/branches/camel-1.x/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeMessageConverterTest.java?p2=camel/branches/camel-1.x/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeMessageConverterTest.java&p1=camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeMessageConverterTest.java&r1=798027&r2=798037&rev=798037&view=diff
==============================================================================
--- camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeMessageConverterTest.java (original)
+++ camel/branches/camel-1.x/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeMessageConverterTest.java Mon Jul 27 06:41:33 2009
@@ -16,20 +16,18 @@
*/
package org.apache.camel.component.jms;
+import javax.jms.BytesMessage;
import javax.jms.ConnectionFactory;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.Session;
import javax.jms.TextMessage;
-import javax.jms.BytesMessage;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.camel.CamelContext;
+import org.apache.camel.ContextTestSupport;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
import org.springframework.jms.support.converter.MessageConversionException;
import org.springframework.jms.support.converter.MessageConverter;
@@ -38,14 +36,7 @@
/**
* @version $Revision$
*/
-public class ConsumeMessageConverterTest extends CamelTestSupport {
-
- @Override
- protected JndiRegistry createRegistry() throws Exception {
- JndiRegistry jndi = super.createRegistry();
- jndi.bind("myMessageConverter", new MyMessageConverter());
- return jndi;
- }
+public class ConsumeMessageConverterTest extends ContextTestSupport {
protected CamelContext createCamelContext() throws Exception {
CamelContext camelContext = super.createCamelContext();
@@ -56,7 +47,6 @@
return camelContext;
}
- @Test
public void testTextMessage() throws Exception {
MockEndpoint mock = getMockEndpoint("mock:result");
mock.expectedMessageCount(1);
@@ -67,7 +57,6 @@
assertMockEndpointsSatisfied();
}
- @Test
public void testBytesMessage() throws Exception {
MockEndpoint mock = getMockEndpoint("mock:result");
mock.expectedMessageCount(1);
@@ -81,7 +70,12 @@
protected RouteBuilder createRouteBuilder() throws Exception {
return new RouteBuilder() {
public void configure() throws Exception {
- from("activemq:queue:hello?messageConverter=#myMessageConverter").to("mock:result");
+ // added disableReplyTo=false to make sure the endpoint is different than the ones we use for
+ // sending otherwise they would also use the same custom message converter
+ JmsEndpoint endpoint = context.getEndpoint("activemq:queue:hello?disableReplyTo=false", JmsEndpoint.class);
+ endpoint.getConfiguration().setMessageConverter(new MyMessageConverter());
+
+ from(endpoint).to("mock:result");
}
};
}
Copied: camel/branches/camel-1.x/components/camel-jms/src/test/java/org/apache/camel/component/jms/ProduceMessageConverterTest.java (from r798027, camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/ProduceMessageConverterTest.java)
URL: http://svn.apache.org/viewvc/camel/branches/camel-1.x/components/camel-jms/src/test/java/org/apache/camel/component/jms/ProduceMessageConverterTest.java?p2=camel/branches/camel-1.x/components/camel-jms/src/test/java/org/apache/camel/component/jms/ProduceMessageConverterTest.java&p1=camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/ProduceMessageConverterTest.java&r1=798027&r2=798037&rev=798037&view=diff
==============================================================================
--- camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/ProduceMessageConverterTest.java (original)
+++ camel/branches/camel-1.x/components/camel-jms/src/test/java/org/apache/camel/component/jms/ProduceMessageConverterTest.java Mon Jul 27 06:41:33 2009
@@ -24,11 +24,10 @@
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.camel.CamelContext;
+import org.apache.camel.ContextTestSupport;
+import org.apache.camel.Endpoint;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
import org.springframework.jms.support.converter.MessageConversionException;
import org.springframework.jms.support.converter.MessageConverter;
@@ -37,14 +36,7 @@
/**
* @version $Revision$
*/
-public class ProduceMessageConverterTest extends CamelTestSupport {
-
- @Override
- protected JndiRegistry createRegistry() throws Exception {
- JndiRegistry jndi = super.createRegistry();
- jndi.bind("myMessageConverter", new MyMessageConverter());
- return jndi;
- }
+public class ProduceMessageConverterTest extends ContextTestSupport {
protected CamelContext createCamelContext() throws Exception {
CamelContext camelContext = super.createCamelContext();
@@ -55,12 +47,14 @@
return camelContext;
}
- @Test
public void testProduceCustomMessageConverter() throws Exception {
MockEndpoint mock = getMockEndpoint("mock:result");
mock.expectedBodiesReceived("Hello World");
- template.sendBody("activemq:queue:hello?messageConverter=#myMessageConverter", "World");
+ JmsEndpoint endpoint = context.getEndpoint("activemq:queue:hello?disableReplyTo=false", JmsEndpoint.class);
+ endpoint.getConfiguration().setMessageConverter(new MyMessageConverter());
+
+ template.sendBody((Endpoint)endpoint, "World");
assertMockEndpointsSatisfied();
}