Hi, I follow your instruction regarding the order. I also modify the url in the jndi resource to have the same url. Notice that i can't place the complete url (tcp://localhost:61616?trace=true&wireFormat.maxInactivityDuration=-1) in the jndi resource. So i replace both by : (tcp://localhost:61616?trace=true)
But, with this all changes i still have the same problem while trying to create the receiver ! I can't understand what's happen. Can i miss something in my configuration ? Could you help me again to deal with this problem ? Thanks in advance, Regards, Denez Suchitha Koneru (sukoneru) wrote: > > Start the queue connection after creating the receiver . Change the > order and see. It is always recommended that the connection is started > after creating the receiver . The following should be the order. Give it > a try. > > ActiveMQQueueReceiver aqr = > (ActiveMQQueueReceiver)qs.createReceiver(q) ; > aqr.setMessageListener(new > BatchReceiverTechnicalService()) ; > aqc.start() ; > > Also I noticed that in the jndi resource for jms/Connectionfactory you > are not using max.Inactivity flag for the broker url. > But while adding connector to the broker you are using this flag, please > use the same broker url through out for consistency. > > > -----Original Message----- > From: denez [mailto:[EMAIL PROTECTED] > Sent: Thursday, August 16, 2007 7:03 AM > To: [email protected] > Subject: Re: Error on starting QueueConnection > > > Do you already have this type of error ? > Do i forget something in my configuration. > I use : > apache-activemq-4.1.1.jar > Tomcat 5.5.23 > jdk1.5.0_07 > > Could you tell me if something is wrong ! > Here is my context declaration in Tomcat : > > <Context path="/jms" reloadable="true" docBase="C:\myJMSApp" > workDir="C:\myJMSApp\work" > > <Resource > name="jms/ConnectionFactory" > auth="Container" > type="org.apache.activemq.ActiveMQConnectionFactory" > description="JMS Connection Factory" > factory="org.apache.activemq.jndi.JNDIReferenceFactory" > brokerURL="tcp://localhost:61616" > brokerName="LocalActiveMQBroker" > useEmbeddedBroker="true"/> > > <Resource name="jms/batch" > auth="Container" > type="org.apache.activemq.command.ActiveMQQueue" > factory="org.apache.activemq.jndi.JNDIReferenceFactory" > physicalName="batch"/> > </Context> > > Thanks in advance for all reply, help / answer. > Regards, > > Denez > > > denez wrote: >> >> Hi all, >> >> I got the same error trying to create a sender ! >> A very strange thing appear because there is no exception throw ! Just > >> nothing happened and the rest of my code is never (i suspect) > excecuted. >> >> Could you help me, or ask me if something is not clear. >> Thanks in advance, >> Regards, >> >> Denez >> >> >> denez wrote: >>> >>> I search around to find my error and find that you should use >>> ActiveMQConnection. >>> Now i can start the connection but have a same problem will trying to > >>> createReceiver. >>> See the code below (previous + modification) : >>> >>> public class ActiveMQBrokerStartListener implements >>> ServletContextListener { >>> >>> BrokerService broker = new BrokerService(); >>> ActiveMQConnection aqc = null ; >>> >>> public void contextInitialized(ServletContextEvent arg0) { >>> try{ >>> >>> > broker.addConnector("tcp://localhost:61616?trace=true&wireFormat.maxInac > tivityDuration=-1"); >>> broker.start(); >>> InitialContext ic = new InitialContext(); >>> Context ctx = (Context) ic.lookup("java:comp/env"); >>> ActiveMQConnectionFactory acf = >>> >>> (ActiveMQConnectionFactory)ctx.lookup("jms/ConnectionFactory"); >>> aqc = (ActiveMQConnection)acf.createQueueConnection(); >>> aqc.start() ; >>> ActiveMQQueueSession qs = >>> >>> (ActiveMQQueueSession)aqc.createQueueSession(false, >>> Session.CLIENT_ACKNOWLEDGE) ; >>> ActiveMQQueue q = > (ActiveMQQueue)ctx.lookup("jms/batch"); >>> ActiveMQQueueReceiver aqr = >>> (ActiveMQQueueReceiver)qs.createReceiver(q) ; // ERROR LINE >>> aqr.setMessageListener(new >>> BatchReceiverTechnicalService()) ; >>> }catch(Exception e){ >>> System.err.println(e.getMessage()); >>> e.printStackTrace(); >>> throw new RuntimeException(e); >>> } >>> } >>> >>> public void contextDestroyed(ServletContextEvent arg0) { >>> try{ >>> aqc.close() ; >>> //qc.close() ; >>> broker.stop(); >>> }catch(Exception e){ >>> System.err.println(e.getMessage()); >>> e.printStackTrace(); >>> throw new RuntimeException(e); >>> } >>> } >>> } >>> >>> What is wrong ?? >>> Why i can not create a Receiver ? >>> >>> Thanks in advance >>> Regards, >>> Denez >>> >>> >>> >>> >>> denez wrote: >>>> >>>> Hi all, >>>> >>>> I would like to start a broker and Activate a MessageListener on >>>> startup of my webApp. >>>> I made all the needed configuration to have a > ServletContextListener. >>>> I can debug inside my ServletContextListener implementation named : >>>> ActiveMQBrokerStartListener. >>>> You can see the code of it below : >>>> >>>> public class ActiveMQBrokerStartListener implements >>>> ServletContextListener { >>>> BrokerService broker = new BrokerService(); >>>> QueueConnection qc = null ; >>>> >>>> public void contextInitialized(ServletContextEvent arg0) { >>>> try{ >>>> >>>> > broker.addConnector("tcp://localhost:61616?trace=true&wireFormat.maxInac > tivityDuration=-1"); >>>> broker.start(); >>>> InitialContext ic = new InitialContext(); >>>> Context ctx = (Context) ic.lookup("java:comp/env"); >>>> ActiveMQConnectionFactory cf = >>>> >>>> ActiveMQConnectionFactory)ctx.lookup("jms/ConnectionFactory"); >>>> qc = (QueueConnection) cf.createQueueConnection(); >>>> qc.start() ; >>>> QueueSession qs = qc.createQueueSession(false, >>>> Session.CLIENT_ACKNOWLEDGE) ; >>>> Queue q = (Queue)ctx.lookup("jms/batch"); >>>> QueueReceiver qr = qs.createReceiver(q) ; >>>> qr.setMessageListener(new Receiver()) ; >>>> }catch(Exception e){ >>>> System.err.println(e.getMessage()); >>>> e.printStackTrace(); >>>> throw new RuntimeException(e); >>>> } >>>> } >>>> >>>> public void contextDestroyed(ServletContextEvent arg0) { >>>> try{ >>>> qc.close() ; >>>> broker.stop(); >>>> }catch(Exception e){ >>>> System.err.println(e.getMessage()); >>>> e.printStackTrace(); >>>> throw new RuntimeException(e); >>>> } >>>> } >>>> } >>>> >>>> I place a breakpoint on the line that should create a QueueSession. >>>> But never enter in it. If i place a breakpoint on the ligne that >>>> createQueueConnection i have it. >>>> So the problem is on the qc.start() ; If i inspect the >>>> QueueConnection i can see that the started=false as normal. >>>> >>>> What is wrong on my code ? >>>> Could you help me, or tell me what you think about this ? >>>> >>>> Regards, >>>> Denez >>>> >>> >>> >> >> > > -- > View this message in context: > http://www.nabble.com/Error-on-starting-QueueConnection-tf4278515s2354.h > tml#a12182022 > Sent from the ActiveMQ - User mailing list archive at Nabble.com. > > -- View this message in context: http://www.nabble.com/Error-on-starting-QueueConnection-tf4278515s2354.html#a12195089 Sent from the ActiveMQ - User mailing list archive at Nabble.com.
