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.


 

 

Reply via email to