Hi I was looking into another matter and the problem with the sending to JMS hangs is explained a bit here: http://www.nabble.com/Do-the-send-timeouts-actually-work--td20583221.html
The other matter is this one: http://fusesource.com/issues/browse/MR-170 On Sun, Apr 12, 2009 at 6:47 PM, yesnid <[email protected]> wrote: > > 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<String> route(Exchange exchange) > { > ArrayList<String> returnSet = new ArrayList<String>(); > 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(60000); > } > 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. > > -- Claus Ibsen Apache Camel Committer Open Source Integration: http://fusesource.com Blog: http://davsclaus.blogspot.com/ Twitter: http://twitter.com/davsclaus Apache Camel Reference Card: http://refcardz.dzone.com/refcardz/enterprise-integration
