activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From denez <iboud...@yahoo.fr>
Subject Re: Error on starting QueueConnection
Date Thu, 16 Aug 2007 10:12:04 GMT

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.maxInactivityDuration=-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.maxInactivityDuration=-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.html#a12178653
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Mime
View raw message