activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nigel Leck <ni...@stsoftware.com.au>
Subject unregister
Date Mon, 20 Aug 2007 09:00:54 GMT


denez wrote:
> I try your both sample, but it still doesn't work.
> I try to move my project directory because originally contains space. but
> still have the same error.
> I probaly miss something in my configuration or someting is wrong in my
> code.
> I don't understand.
> So, could you give me or send me a sample web application that use ActiveMQ
> ?
> Thanks in advance.
> Regards,
>
> Denez
>
>
> Suchitha Koneru (sukoneru) wrote:
>   
>> The JMS  documentation suggests that we start the connection after
>> creating the receiver and registering it with a message listener. Please
>> look at point no: 6 in the section "Client to Consume Messages"
>> http://java.sun.com/developer/technicalArticles/Ecommerce/jms/index.html
>>  
>>
>> -----Original Message-----
>> From: Dave Carlson [mailto:gshpsrule@charter.net] 
>> Sent: Friday, August 17, 2007 7:58 AM
>> To: users@activemq.apache.org
>> Cc: Suchitha Koneru (sukoneru)
>> Subject: RE: Error on starting QueueConnection
>>
>> Are you sure about the ordering? It seems odd that you would want to
>> start the flow of messages across the connection before you have created
>> a receiver. Looking at ActiveMQ example code in ConsumerTool, they are
>> creating the receiver first...
>>
>> 			ActiveMQConnectionFactory connectionFactory =
>> new ActiveMQConnectionFactory(user, password, url);
>> 			Connection connection =
>> connectionFactory.createConnection();
>> 			if (durable && clientId != null &&
>> clientId.length()>0 && !"null".equals(clientId) ) {
>> 				connection.setClientID(clientId);
>> 			}
>> 			connection.setExceptionListener(this);
>> 			connection.start();
>>
>> 			session = connection.createSession(transacted,
>> ackMode);
>> 			if (topic) {
>> 				destination =
>> session.createTopic(subject);
>> 			} else {
>> 				destination =
>> session.createQueue(subject);
>> 			}
>>
>> 			replyProducer = session.createProducer(null);
>> 	
>> replyProducer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
>>
>> 			MessageConsumer consumer = null;
>> 			if (durable && topic) {
>> 				consumer =
>> session.createDurableSubscriber((Topic) destination, consumerName);
>> 			} else {
>> 				consumer =
>> session.createConsumer(destination);
>> 			}
>>
>> ---- "Suchitha Koneru (sukoneru)" <sukoneru@cisco.com> 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:ibouddha@yahoo.fr]
>>> Sent: Thursday, August 16, 2007 7:03 AM
>>> To: users@activemq.apache.org
>>> 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.maxIn
>>> ac
>>> 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.maxIn
>>> ac
>>> 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.
>>>       
>>     
>
>   

-- 
Nigel Leck
System Architect
ST Software Pty Limited
Level 1, 14 Rodborough Rd
Frenchs Forest NSW 2086
National: 1300 78 73 78
International: +61 2 9975 4648
Fax: +61 2 9975 4652
www.stsoftware.com.au


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message