Storing context with exchanges
I have two routes (A & B) that are in-out in nature. The client calls on A, A calls on B and then the reply is sent back from B to A and then back to the client. I'd like to store some context information relating to the client interaction with A and then have that available when B replies to A. A should know nothing of this context. Is there a way of matching an exchange received from B with the original exchange sent to A? Kind regards, Christopher -- View this message in context: http://www.nabble.com/Storing-context-with-exchanges-tp23017939p23017939.html Sent from the Camel - Users (activemq) mailing list archive at Nabble.com.
Re: Router Blocked by full Destination Route Queue
Hello, Below you will find a simplified example, of what my router is doing, basically recieving on one queue and then resending on another in this example, now to get the test working properly, have a producer send messages to the recieving queue and no one listening to the destination queue eventually the router will hang. My producers are connecting with the following, settings to the broker; Delivery Mode = persistent, Message TTL = 0 (Essentially infinite), transacted = false, session = auto acknowledge. To see the problem faster you can set the memory in the policy entry for you queue to lower, I suggest really low so that the problem appears really fast and you don't have to wait to see it appear. public class TestCamelRouter extends RouteBuilder { final static String BEAN_NAME = "TestCamelRouter"; final static String BEAN_METHOD = "route"; @RecipientList public List route(Exchange exchange) { ArrayList returnSet = new ArrayList(); returnSet.add("JMS-BROKER" + ":queue:" + "TestDeliveryQueue"); return returnSet; } @Override public void configure() throws Exception { from("JMS-BROKER" + ":queue:" + "RecievingQueue").beanRef(TestCamelRouter.BEAN_NAME, TestCamelRouter.BEAN_METHOD); } public static void main(String[] args) { JndiContext jndiContext = null; try { jndiContext = new JndiContext(); jndiContext.bind(TestCamelRouter.BEAN_NAME, new TestCamelRouter()); } catch (Exception e) { e.printStackTrace(); return; } CamelContext context = new DefaultCamelContext(jndiContext); ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("tcp://localhost:61616"); factory.setDispatchAsync(true); context.addComponent("JMS-BROKER", JmsComponent.jmsComponentAutoAcknowledge(factory)); try { context.addRoutes(new TestCamelRouter()); context.start(); while (true) Thread.sleep(6); } catch (Exception e) { e.printStackTrace(); return; } } } huntc wrote: > > Can you please provide the route's specification in code or XML. This will > give us a better chance of answering your question. > > Having said that, sounds like you've got an internal seda queue... I would > have thought that an exception would be thrown once the queue becomes > full. By default a seda queue can only hold 1000 items. > > If it is a JMS queue, then would setting the time to live option be useful > to you? > -- View this message in context: http://www.nabble.com/Router-Blocked-by-full-Destination-Route-Queue-tp22981898p23012582.html Sent from the Camel - Users (activemq) mailing list archive at Nabble.com.
Re: Router Blocked by full Destination Route Queue
Can you extrapolate on what you mean by this? I thought I was using persistent queues, but what makes you think that, that should solve this issue? Thank you. Bruno Borges wrote: > > Maybe you should use a persistent queue, for later processing. > > > Bruno Borges > blog.brunoborges.com.br > +55 21 76727099 > > "The glory of great men should always be > measured by the means they have used to > acquire it." > - Francois de La Rochefoucauld > > > On Thu, Apr 9, 2009 at 10:47 PM, yesnid wrote: > >> >> Hello All, >> >> My router is becoming blocked by sending messages to a queue on which no >> one >> is taking messages from the queue, when the queue becomes full, the >> router >> is blocked waiting for more space in the queue to become free, any ideas >> about how I could get around this? In my application it is possible that >> applications listening to queues may come up and down for a shortwhile so >> I >> can't just simply purge a queue when there are no consumers. Also If I >> wait >> for the queue to become completely full before taking action it causes a >> sort of cascade effect causing others to rapidly fill up as well. >> >> Thank you for the input, in advance. >> -- >> View this message in context: >> http://www.nabble.com/Router-Blocked-by-full-Destination-Route-Queue-tp22981898p22981898.html >> Sent from the Camel - Users (activemq) mailing list archive at >> Nabble.com. >> >> > > > - > Bruno Borges > blog.brunoborges.com.br > +55 21 76727099 > > "The glory of great men should always be > measured by the means they have used to > acquire it." > - Francois de La Rochefoucauld > -- View this message in context: http://www.nabble.com/Router-Blocked-by-full-Destination-Route-Queue-tp22981898p23012024.html Sent from the Camel - Users (activemq) mailing list archive at Nabble.com.
Problem with Camel Spring configuration
Hi all, i tried for Camel ReportIncident tutorials with spring based configuration, i have following DSL code to convert to Spring XML configuration. from("direct:start") .setHeader(FileComponent.HEADER_FILE_NAME, BeanLanguage.bean(FilenameGenerator.class, "generateFilename")) .to("velocity:MailBody.vm") .to("file://info"); i converted above code as follows but this will gives following error , 2009-04-12 15:10:01,593 [btpool0-1 ] ERROR DeadLetterChannel - Failed delivery for exchangeId: ID-sagara/2380-1239529183484/0-0. On delivery attempt: 0 caught: org.apache.camel.NoTypeConversionAvailableException: No type converter available to convert from type: class org.apache.camel.component.file.FileMessage to the required type: java.io.InputStream with value FileMessage: info org.apache.camel.NoTypeConversionAvailableException: No type converter available to convert from type: class org.apache.camel.component.file.FileMessage to the required type: java.io.InputStream with value FileMessage: info at org.apache.camel.impl.converter.DefaultTypeConverter.convertTo(DefaultTypeConverter.java:117) at org.apache.camel.impl.converter.DefaultTypeConverter.convertTo(DefaultTypeConverter.java:65) I think i have missed something on spring configuration , can any one provide any clue for this ? Thanks , Sagara