activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Suchitha Koneru \(sukoneru\)" <sukon...@cisco.com>
Subject RE: Need help regarding ActiveMQ with Tomcat
Date Thu, 02 Aug 2007 01:34:18 GMT
In our application , there are two web apps and the inter web app
communication is via the active mq broker. Out application uses active
mq 4.1.1 , java 1.6 and  Tomcat5.5.20

1) The jndi resources for active mq can be specified in
Tomcat/conf/context.xml
           
<!-- active mq connection factory -->
<Resource
                 name="jms/ConnectionFactory"
                 auth="Container"
                 type="org.apache.activemq.ActiveMQConnectionFactory"
                 description="JMS Connection Factory"
                 factory="org.apache.activemq.jndi.JNDIReferenceFactory"

 
brokerURL="tcp://ipaddress:61616?trace=true&wireFormat.maxInactivityDura
tion=-1"    
  /> 


 the flag  wireFormat.maxInactivityDuration should be set to -1 because
, if there is no activity (exchange os messages via the broker for some
period of Time) , the broker automatically closes down the connection.



<!-- topics -->


 <Resource name="jms/TopicOne" 
    		  auth="Container" 
    		  type="org.apache.activemq.command.ActiveMQTopic" 
    		  description="the topic against which the client back
end will publish and server back end would subscribe"
 
factory="org.apache.activemq.jndi.JNDIReferenceFactory" 
  	          physicalName="FOO1.BAR"/>        
        
        
      <Resource name="jms/TopicTwo" 
    		  auth="Container" 
    		  type="org.apache.activemq.command.ActiveMQTopic" 
    		  description="the topic against which the server back
end will publish and client back end would subscribe"
 
factory="org.apache.activemq.jndi.JNDIReferenceFactory" 
  	          physicalName="FOO2.BAR"/>      
        
2) I have used broker configuration URI for the broker.  The alternative
approache  is using an activemq.xml file . If you use active.xml file ,
the broker url would be 
brokerURL="tcp://localhost?brokerConfig=xbean:file:../../activemq.xml  ,
provide the relative path to the activemq.xml file , starting from the
bin directory of Tomcat. I am assuming that you are using "startup.bat"
present in the bin directory to start the tomcat server.


 The pseudo code for starting the broker is 
     
         BrokerService broker = new BrokerService();
// the connector should have the same contents as the broker url
	
broker.addConnector("tcp://ipaddress:61616?trace=true&wireFormat.maxInac
tivityDuration=-1");

	broker.start();

3) You can place the code for starting the broker in a singleton class .
The Constructor of the singleTonClass should create the broker. There
should also be a  synchronized method  for shutting down the broker.
For reference let us call this class as ActiveMQBroker.java .Place this
class under shared/classes folder  and  also place  , the active mq jars
in shared/lib;

When your web app needs to communicate with the broker, it will Create
an instance of  single Ton class ActiveMQBroker  . The pseudo code to be
placed in web apps to connect to the broker is 


                 SingleTonClass.getInstance();
                  Ictx = new javax.naming.InitialContext();
			envContext = (Context)
Ictx.lookup("java:comp/env");
                TopicConnectionFactory  topicfactory
=(TopicConnectionFactory) conContext.lookup("jms/ConnectionFactory");
 
TopicConnection tConnection = topicfactory.createTopicConnection();

    // create session 

ActiveMQSession topicSession = (ActiveMQSession )
HConn.createSession(false, Session.AUTO_ACKNOWLEDGE);

	// create Topic 
Topic topic = (Topic)envContext.lookup(jms/TopicTwo);


                    // create either  a publisher or subscriber 
 
      topicSession.createSubscriber(topic);  

//In case of the subscriber , please implement the  MessageListner
Interface () 


4) You can also connect to the broker without using jndi resources.


Also these urls would be useful.
http://activemq.apache.org/how-do-i-embed-a-broker-inside-a-connection.h
tml

http://activemq.apache.org/broker-configuration-uri.html

http://fabien.carrion.free.fr/tomcat/jndi-jms-examples-howto.xml

http://activemq.apache.org/setting-up-activemq-with-tomcat-559.html

Thanks,
Suchitha.










  






 



 

-----Original Message-----
From: shubhendu_kumar@msn.com [mailto:shubhendu_kumar@msn.com] 
Sent: Wednesday, August 01, 2007 2:08 AM
To: Suchitha Koneru (sukoneru)
Subject: Need help regarding ActiveMQ with Tomcat

Hi,

Hope you are doing fine. Let me introduce myself first I am Shubhendu
Kumar Paul working on Java Platfrom. In my current project I am using
ActiveMQ, and able to run a simple console based application but when I
tried to implement the same at Tomcat 5.5, I am unable to configure it.
At ActiveMQ forum I saw your message, if you don't have any problem,
could you please tell me every configuration step by step or suggest me
from where I can found any sample web based active mq application? Or if
you have a small web based ActiveMQ Hello World! kind of application
could you please send it to me?

Thanks in Advance.

Regards,
Shubhendu Kumar Paul
e-mail: shubhendu_kumar@msn.com

Mime
View raw message