Hello,
I am trying to do what the subject of this mail says. I have looked at the documentation on the JMS component @ http://camel.apache.org/jms.html. I have a collection of Publishable objects. Publishable objects have 1. A method that returns the Topic name postfix. 2. A method that returns a Map<String,String> of properties to put as JMS Headers Based on what I read, I created the below class. I am using the ProducerTemplate to publish public class GenericCamelPublisher { private ProducerTemplate jmsProducer; private static final Logger log = Logger.getLogger(GenericCamelPublisher.class); private String destinationPrefix; private String endPointUri; public GenericCamelPublisher(ProducerTemplate jmsProducer, String destinationPrefix, String endPointUri){ this.jmsProducer = jmsProducer; this.destinationPrefix = destinationPrefix; this.endPointUri = endPointUri; } public void publish(Publishable publishable){ Map<String,String> origMsgHeaders = publishable.getPublishProperties(); Map<String,Object> msgHeaders = new HashMap<String, Object>(origMsgHeaders); String destinationName = null; if(!StringUtils.isEmpty(destinationPrefix)){ destinationName = String.format("%s.%s", destinationPrefix, publishable.getPublishTopicName()); }else{ destinationName = publishable.getPublishTopicName(); } if(log.isDebugEnabled()){ log.debug("Destination is " + destinationName); } msgHeaders.put(JmsConstants.JMS_DESTINATION_NAME, destinationName); jmsProducer.sendBodyAndHeaders(endPointUri, publishable.getPayload(), msgHeaders); } } I receive the following output 15:03:46,115 [QFJ Message Processor] DEBUG com.csfb.oddlots.creditex.md.GenericCamelPublisher - Destination is T.NY.COLT.FBID.REDC.2I65BYCO1 15:03:46,115 [QFJ Message Processor] DEBUG org.apache.camel.impl.DefaultComponent - Creating endpoint uri=[jmsUS://topic], path=[topic], parameters=[{}] 15:03:46,116 [QFJ Message Processor] DEBUG org.apache.camel.spring.SpringCamelContext - jmsUS://topic converted to endpoint: Endpoint[jmsUS://topic] by component: org.apache.camel.component.jms.JmsComponent@1d281f1 15:03:46,117 [QFJ Message Processor] DEBUG org.apache.camel.component.jms.JmsProducer - Starting producer: Producer[jmsUS://topic] 15:03:46,117 [QFJ Message Processor] DEBUG org.apache.camel.impl.ProducerCache - Adding to producer cache with key: Endpoint[jmsUS://topic] for producer: Producer[jmsUS://topic] 15:03:46,120 [QFJ Message Processor] DEBUG org.apache.camel.impl.ProducerCache - >>>> Endpoint[jmsUS://topic] Exchange[Message: 8=FIXT.1.19=17835=S15=USD22=R48=2I65BYCO155=60200560=20120425-19:03:46.0 51117=15648175132=95134=50000167=INDEX_CDS423=6537=1632=0647=06372=Y7100 =CX7101=UPD7102=156481757528=010=202] 15:03:46,316 [QFJ Message Processor] DEBUG org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate - Executing callback on JMS Session: com.tibco.tibjms.TibjmsxSessionImp@1846149 15:03:46,377 [QFJ Message Processor] WARN org.apache.camel.processor.UnitOfWorkProcessor - Caught unhandled exception while processing ExchangeId: ID-USD09546426-64302-1335380610999-0-4234 org.springframework.jms.InvalidDestinationException: Not allowed to create destination; nested exception is javax.jms.InvalidDestinationException: Not allowed to create destination at org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUt ils.java:285) at org.springframework.jms.support.JmsAccessor.convertJmsAccessException(Jm sAccessor.java:168) at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:469) I have seen this exception if I try to publish to a topic that does not begin with T.NY.COLT. It's a permissioning thing. In this case, the logs don't tell where the jmsEndpoint tried to publish too. Am I approaching this the wrong way? Thanks in advance, Geoff Geoffrey A. Gershaw =============================================================================== Please access the attached hyperlink for an important electronic communications disclaimer: http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html ===============================================================================