You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by "Suchitha Koneru (sukoneru)" <su...@cisco.com> on 2007/01/19 03:19:28 UTC
active mq configuration for Tomcat 5.5
Hello active mq users ,
I have the following configuration on my system
tomcat 5.5
java 1.5.09
In server.xml , I placed the JNDI resources as
follows
<GlobalNamingResources>
<Resource name="jms/TopicConnectionFactory"
auth="Container"
type="org.apache.activemq.ActiveMQConnectionFactory"
description="JMS Connection Factory"
factory="org.apache.activemq.jndi.JNDIReferenceFactory"
brokerURL="tcp://localhost:61716"
brokerName="LocalActiveMQBroker"/>
<Resource name="jms/Topic"
auth="Container"
type="org.apache.activemq.command.ActiveMQTopic"
description="sample Topic"
factory="org.apache.activemq.jndi.JNDIReferenceFactory"
physicalName="FOO.BAR"/>
</GlobalNamingResources>
I have a web app called UI , I am trying to access these global jndi
recources from this web app, Hence the context.xml for this web app has
the following
<Context reloadable="true">
<ResourceLink name="ConnectionFactory"
global="jms/TopicConnectionFactory" type=
"org.apache.activemq.ActiveMQConnectionFactory" />
<ResourceLink name="PNMTopic" global="jms/Topic" type=
"org.apache.activemq.command.ActiveMQTopic" />
</Context>
The subsciber class in the UI context is as follows
public class PNMSubscriber {
TopicConnection tConn ;
TopicConnectionFactory tFactory ;
Topic pnmTopic;
ActiveMQTopicSession pnmSession ;
public PNMSubscriber(){
try{
InitialContext initialContext = new InitialContext();
Context envContext = (Context) initialContext.lookup("java:comp/env");
tFactory =
(TopicConnectionFactory)envContext.lookup("ConnectionFactory");
tConn = tFactory.createTopicConnection();
pnmSession = (ActiveMQTopicSession) tConn.createTopicSession(true,
Session.AUTO_ACKNOWLEDGE);
pnmTopic = (Topic)envContext.lookup("PNMTopic");
pnmSubscriber = pnmSession.createSubscriber(pnmTopic);
}catch(Exception e){
e.printStackTrace();
}
}
I get a class cast exception as follows
java.lang.ClassCastException:
org.apache.activemq.ActiveMQConnectionFactory
at
com.cpnm.common.messaging.PNMSubscriber.<init>(PNMSubscriber.java:40)
The exception is raised , at the following line , in the code
tFactory =
(TopicConnectionFactory)envContext.lookup("ConnectionFactory");
I tried casting the object to "ActiveMQConnectionFactory" , I still get
the same exception.
I think, iam missing something in the configuration, please let me know,
if I need to add anything else.
Please help me out !!
thank you,
Suchitha.
Re: active mq configuration for Tomcat 5.5
Posted by James Strachan <ja...@gmail.com>.
Sounds like a classpath issue - you've probably got a few different
ActiveMQ jars on the classpath.
On 1/19/07, Suchitha Koneru (sukoneru) <su...@cisco.com> wrote:
> Thank you so much for the help.
> I am looking up the correct name because in the resource link of
> context.xml I have
> Connection Factory mapped to global resource
> "jms/TopicConnectionFactory". This global resource is mentioned in
> Server.xml.
>
>
> <ResourceLink name="ConnectionFactory"
> > global="jms/TopicConnectionFactory" type=
> > "org.apache.activemq.ActiveMQConnectionFactory" />
>
> The object at run time is
> Of the type
> org.apache.activemq.ActiveMQConnectionFactory.
>
> Using JNDI , I am able to look up the connection factory and the topic.
>
> The problem is with the type of object being returned, even though it
> is of type
>
> org.apache.activemq.ActiveMQConnectionFactory , I cannot cast it to the
> same type i.e. org.apache.activemq.ActiveMQConnectionFactory
>
> This problem appears to be very tricky.
>
>
> -----Original Message-----
> From: James Strachan [mailto:james.strachan@gmail.com]
> Sent: Friday, January 19, 2007 1:10 AM
> To: activemq-users@geronimo.apache.org
> Subject: Re: active mq configuration for Tomcat 5.5
>
> It looks like you are looking up the wrong name, shouldn't it be
> "jms/TopicConnectionFactory"?
> Also try actually printing out what the object is that you've found.
>
> Given the problems you're having using JNDI, it might be worth just
> replacing all the JNDI crap with just one line...
>
> ConnectionFactory factory = new ActiveMQConnection()
>
> :)
>
> On 1/19/07, Suchitha Koneru (sukoneru) <su...@cisco.com> wrote:
> > Hello active mq users ,
> > I have the following configuration on my system
> > tomcat 5.5 java 1.5.09
> >
> > In server.xml , I placed the JNDI resources as follows
> > <GlobalNamingResources>
> >
> > <Resource name="jms/TopicConnectionFactory"
> >
> > auth="Container"
> >
> > type="org.apache.activemq.ActiveMQConnectionFactory"
> >
> > description="JMS Connection Factory"
> >
> > factory="org.apache.activemq.jndi.JNDIReferenceFactory"
> >
> > brokerURL="tcp://localhost:61716"
> >
> > brokerName="LocalActiveMQBroker"/>
> >
> > <Resource name="jms/Topic"
> >
> > auth="Container"
> >
> > type="org.apache.activemq.command.ActiveMQTopic"
> >
> > description="sample Topic"
> >
> > factory="org.apache.activemq.jndi.JNDIReferenceFactory"
> >
> > physicalName="FOO.BAR"/>
> >
> > </GlobalNamingResources>
> >
> > I have a web app called UI , I am trying to access these global jndi
> > recources from this web app, Hence the context.xml for this web app
> > has the following <Context reloadable="true">
> >
> > <ResourceLink name="ConnectionFactory"
> > global="jms/TopicConnectionFactory" type=
> > "org.apache.activemq.ActiveMQConnectionFactory" />
> >
> > <ResourceLink name="PNMTopic" global="jms/Topic" type=
> > "org.apache.activemq.command.ActiveMQTopic" />
> >
> > </Context>
> >
> > The subsciber class in the UI context is as follows
> >
> > public class PNMSubscriber {
> >
> > TopicConnection tConn ;
> >
> > TopicConnectionFactory tFactory ;
> >
> > Topic pnmTopic;
> >
> > ActiveMQTopicSession pnmSession ;
> >
> > public PNMSubscriber(){
> >
> > try{
> >
> > InitialContext initialContext = new InitialContext();
> >
> > Context envContext = (Context) initialContext.lookup("java:comp/env");
> >
> > tFactory =
> > (TopicConnectionFactory)envContext.lookup("ConnectionFactory");
> >
> > tConn = tFactory.createTopicConnection();
> >
> > pnmSession = (ActiveMQTopicSession) tConn.createTopicSession(true,
> > Session.AUTO_ACKNOWLEDGE);
> >
> > pnmTopic = (Topic)envContext.lookup("PNMTopic");
> >
> > pnmSubscriber = pnmSession.createSubscriber(pnmTopic);
> >
> > }catch(Exception e){
> >
> > e.printStackTrace();
> >
> > }
> >
> > }
> >
> > I get a class cast exception as follows
> >
> > java.lang.ClassCastException:
> > org.apache.activemq.ActiveMQConnectionFactory
> > at
> > com.cpnm.common.messaging.PNMSubscriber.<init>(PNMSubscriber.java:40)
> >
> > The exception is raised , at the following line , in the code
> >
> > tFactory =
> > (TopicConnectionFactory)envContext.lookup("ConnectionFactory");
> >
> > I tried casting the object to "ActiveMQConnectionFactory" , I still
> > get the same exception.
> >
> > I think, iam missing something in the configuration, please let me
> > know, if I need to add anything else.
> >
> > Please help me out !!
> >
> > thank you,
> >
> > Suchitha.
> >
> >
> >
> >
> >
> >
> >
>
>
> --
>
> James
> -------
> http://radio.weblogs.com/0112098/
>
--
James
-------
http://radio.weblogs.com/0112098/
RE: active mq configuration for Tomcat 5.5
Posted by "Suchitha Koneru (sukoneru)" <su...@cisco.com>.
Thank you so much for the help.
I am looking up the correct name because in the resource link of
context.xml I have
Connection Factory mapped to global resource
"jms/TopicConnectionFactory". This global resource is mentioned in
Server.xml.
<ResourceLink name="ConnectionFactory"
> global="jms/TopicConnectionFactory" type=
> "org.apache.activemq.ActiveMQConnectionFactory" />
The object at run time is
Of the type
org.apache.activemq.ActiveMQConnectionFactory.
Using JNDI , I am able to look up the connection factory and the topic.
The problem is with the type of object being returned, even though it
is of type
org.apache.activemq.ActiveMQConnectionFactory , I cannot cast it to the
same type i.e. org.apache.activemq.ActiveMQConnectionFactory
This problem appears to be very tricky.
-----Original Message-----
From: James Strachan [mailto:james.strachan@gmail.com]
Sent: Friday, January 19, 2007 1:10 AM
To: activemq-users@geronimo.apache.org
Subject: Re: active mq configuration for Tomcat 5.5
It looks like you are looking up the wrong name, shouldn't it be
"jms/TopicConnectionFactory"?
Also try actually printing out what the object is that you've found.
Given the problems you're having using JNDI, it might be worth just
replacing all the JNDI crap with just one line...
ConnectionFactory factory = new ActiveMQConnection()
:)
On 1/19/07, Suchitha Koneru (sukoneru) <su...@cisco.com> wrote:
> Hello active mq users ,
> I have the following configuration on my system
> tomcat 5.5 java 1.5.09
>
> In server.xml , I placed the JNDI resources as follows
> <GlobalNamingResources>
>
> <Resource name="jms/TopicConnectionFactory"
>
> auth="Container"
>
> type="org.apache.activemq.ActiveMQConnectionFactory"
>
> description="JMS Connection Factory"
>
> factory="org.apache.activemq.jndi.JNDIReferenceFactory"
>
> brokerURL="tcp://localhost:61716"
>
> brokerName="LocalActiveMQBroker"/>
>
> <Resource name="jms/Topic"
>
> auth="Container"
>
> type="org.apache.activemq.command.ActiveMQTopic"
>
> description="sample Topic"
>
> factory="org.apache.activemq.jndi.JNDIReferenceFactory"
>
> physicalName="FOO.BAR"/>
>
> </GlobalNamingResources>
>
> I have a web app called UI , I am trying to access these global jndi
> recources from this web app, Hence the context.xml for this web app
> has the following <Context reloadable="true">
>
> <ResourceLink name="ConnectionFactory"
> global="jms/TopicConnectionFactory" type=
> "org.apache.activemq.ActiveMQConnectionFactory" />
>
> <ResourceLink name="PNMTopic" global="jms/Topic" type=
> "org.apache.activemq.command.ActiveMQTopic" />
>
> </Context>
>
> The subsciber class in the UI context is as follows
>
> public class PNMSubscriber {
>
> TopicConnection tConn ;
>
> TopicConnectionFactory tFactory ;
>
> Topic pnmTopic;
>
> ActiveMQTopicSession pnmSession ;
>
> public PNMSubscriber(){
>
> try{
>
> InitialContext initialContext = new InitialContext();
>
> Context envContext = (Context) initialContext.lookup("java:comp/env");
>
> tFactory =
> (TopicConnectionFactory)envContext.lookup("ConnectionFactory");
>
> tConn = tFactory.createTopicConnection();
>
> pnmSession = (ActiveMQTopicSession) tConn.createTopicSession(true,
> Session.AUTO_ACKNOWLEDGE);
>
> pnmTopic = (Topic)envContext.lookup("PNMTopic");
>
> pnmSubscriber = pnmSession.createSubscriber(pnmTopic);
>
> }catch(Exception e){
>
> e.printStackTrace();
>
> }
>
> }
>
> I get a class cast exception as follows
>
> java.lang.ClassCastException:
> org.apache.activemq.ActiveMQConnectionFactory
> at
> com.cpnm.common.messaging.PNMSubscriber.<init>(PNMSubscriber.java:40)
>
> The exception is raised , at the following line , in the code
>
> tFactory =
> (TopicConnectionFactory)envContext.lookup("ConnectionFactory");
>
> I tried casting the object to "ActiveMQConnectionFactory" , I still
> get the same exception.
>
> I think, iam missing something in the configuration, please let me
> know, if I need to add anything else.
>
> Please help me out !!
>
> thank you,
>
> Suchitha.
>
>
>
>
>
>
>
--
James
-------
http://radio.weblogs.com/0112098/
Re: active mq configuration for Tomcat 5.5
Posted by James Strachan <ja...@gmail.com>.
It looks like you are looking up the wrong name, shouldn't it be
"jms/TopicConnectionFactory"?
Also try actually printing out what the object is that you've found.
Given the problems you're having using JNDI, it might be worth just
replacing all the JNDI crap with just one line...
ConnectionFactory factory = new ActiveMQConnection()
:)
On 1/19/07, Suchitha Koneru (sukoneru) <su...@cisco.com> wrote:
> Hello active mq users ,
> I have the following configuration on my system
> tomcat 5.5
> java 1.5.09
>
> In server.xml , I placed the JNDI resources as
> follows
> <GlobalNamingResources>
>
> <Resource name="jms/TopicConnectionFactory"
>
> auth="Container"
>
> type="org.apache.activemq.ActiveMQConnectionFactory"
>
> description="JMS Connection Factory"
>
> factory="org.apache.activemq.jndi.JNDIReferenceFactory"
>
> brokerURL="tcp://localhost:61716"
>
> brokerName="LocalActiveMQBroker"/>
>
> <Resource name="jms/Topic"
>
> auth="Container"
>
> type="org.apache.activemq.command.ActiveMQTopic"
>
> description="sample Topic"
>
> factory="org.apache.activemq.jndi.JNDIReferenceFactory"
>
> physicalName="FOO.BAR"/>
>
> </GlobalNamingResources>
>
> I have a web app called UI , I am trying to access these global jndi
> recources from this web app, Hence the context.xml for this web app has
> the following
> <Context reloadable="true">
>
> <ResourceLink name="ConnectionFactory"
> global="jms/TopicConnectionFactory" type=
> "org.apache.activemq.ActiveMQConnectionFactory" />
>
> <ResourceLink name="PNMTopic" global="jms/Topic" type=
> "org.apache.activemq.command.ActiveMQTopic" />
>
> </Context>
>
> The subsciber class in the UI context is as follows
>
> public class PNMSubscriber {
>
> TopicConnection tConn ;
>
> TopicConnectionFactory tFactory ;
>
> Topic pnmTopic;
>
> ActiveMQTopicSession pnmSession ;
>
> public PNMSubscriber(){
>
> try{
>
> InitialContext initialContext = new InitialContext();
>
> Context envContext = (Context) initialContext.lookup("java:comp/env");
>
> tFactory =
> (TopicConnectionFactory)envContext.lookup("ConnectionFactory");
>
> tConn = tFactory.createTopicConnection();
>
> pnmSession = (ActiveMQTopicSession) tConn.createTopicSession(true,
> Session.AUTO_ACKNOWLEDGE);
>
> pnmTopic = (Topic)envContext.lookup("PNMTopic");
>
> pnmSubscriber = pnmSession.createSubscriber(pnmTopic);
>
> }catch(Exception e){
>
> e.printStackTrace();
>
> }
>
> }
>
> I get a class cast exception as follows
>
> java.lang.ClassCastException:
> org.apache.activemq.ActiveMQConnectionFactory
> at
> com.cpnm.common.messaging.PNMSubscriber.<init>(PNMSubscriber.java:40)
>
> The exception is raised , at the following line , in the code
>
> tFactory =
> (TopicConnectionFactory)envContext.lookup("ConnectionFactory");
>
> I tried casting the object to "ActiveMQConnectionFactory" , I still get
> the same exception.
>
> I think, iam missing something in the configuration, please let me know,
> if I need to add anything else.
>
> Please help me out !!
>
> thank you,
>
> Suchitha.
>
>
>
>
>
>
>
--
James
-------
http://radio.weblogs.com/0112098/