Hi;

I am trying to look up a queue from a stateless session bean, and I get
javax.naming.NameNotFoundException: jms/asynchQueue not found in
Generator. 
The GeneratorBean class is attached, and the xml files are printed
below.

Thanks,
Cathy 

 It is doing the lookup in this method:

  private void startJMS() throws NamingException, JMSException {
        ctx = new InitialContext();
        Object obj =
ctx.lookup("java:comp/env/jms/javax.jms.QueueConnectionFactory");
        QueueConnectionFactory factory = (QueueConnectionFactory)
        PortableRemoteObject.narrow(obj, QueueConnectionFactory.class);
        Object obj2 = ctx.lookup("java:comp/env/jms/asynchQueue");
        queue = (Queue)PortableRemoteObject.narrow(obj2, Queue.class);
        conn = factory.createQueueConnection();
        conn.start();
        session = conn.createQueueSession(false,
QueueSession.AUTO_ACKNOWLEDGE);
        sender = session.createSender(queue);
    }

 
Here are the jms.xml file and ejb-jar.xml files I am using:

<?xml version="1.0"?>
<!DOCTYPE jms-server PUBLIC "Orion JMS server"
"http://www.orionserver.com/dtds/jms-server.dtd">

<jms-server port="9127">

        <!--    Queue bindings, these queues will be bound to their respective
JNDI path for later     retrieval -->   
        <queue-connection-factory
location="jms/javax.jms.QueueConnectionFactory" port="9127">
        </queue-connection-factory>     
        <queue name="Demo Queue" location="jms/demoQueue"/>             
        <queue name="asynchQueue" location="jms/asynchQueue"/>          
        <!--    Topic bindings, these topic will be bound to their respective JNDI
path for
                        later retrieval -->     
        <topic name="Demo Topic" location="jms/demoTopic"/>     <!-- path to the
log-file where JMS-events/errors are stored --> 
        <log>
                <file path="../log/jms.log" />
        </log>
</jms-server>




<ejb-jar>
   <description>This is a prototype to test asynchronous messaging using
        the Generator and Delegator classes.
   </description>
      <enterprise-beans>
         <session>
            <display-name>Generator</display-name>
           
<ejb-name>com.hitachi.hitel.genesis.em.asynchronous.Generator</ejb-name>
           
<home>com.hitachi.hitel.genesis.em.asynchronous.GeneratorHome</home>
           
<remote>com.hitachi.hitel.genesis.em.asynchronous.Generator</remote>
           
<ejb-class>com.hitachi.hitel.genesis.em.asynchronous.GeneratorBean</ejb-class>
            <session-type>Stateless</session-type>
                <resource-ref>
                        
<res-ref-name>jms/javax.jms.QueueConnectionFactory</res-ref-name>
                        <res-type>javax.jms.QueueConnectionFactory</res-type>
                        <res-auth>Container</res-auth>
                </resource-ref>
                <resource-env-ref>
                        <resource-env-ref-name>jms/asynchQueue</resource-env-ref-name>
                        <resource-env-ref-type>javax.jms.Queue</resource-env-ref-type>
                </resource-env-ref>
           </session>
           <session>
            <display-name>TestController</display-name>
           
<ejb-name>com.hitachi.hitel.genesis.em.asynchronous.TestController</ejb-name>
           
<home>com.hitachi.hitel.genesis.em.asynchronous.TestControllerHome</home>
           
<remote>com.hitachi.hitel.genesis.em.asynchronous.TestController</remote>
           
<ejb-class>com.hitachi.hitel.genesis.em.asynchronous.TestControllerBean</ejb-class>
            <session-type>Stateful</session-type>
                <ejb-ref>
                        <ejb-ref-name>Generator</ejb-ref-name>
                        <ejb-ref-type>Session</ejb-ref-type>
                        
<home>com.hitachi.hitel.genesis.em.asynchronous.GeneratorHome</home>
            
<remote>com.hitachi.hitel.genesis.em.asynchronous.Generator</remote>
            </ejb-ref>
        
           </session>
           <session>
            <display-name>TestReceiver</display-name>
           
<ejb-name>com.hitachi.hitel.genesis.em.asynchronous.TestReceiver</ejb-name>
           
<home>com.hitachi.hitel.genesis.em.asynchronous.TestReceiverHome</home>
           
<remote>com.hitachi.hitel.genesis.em.asynchronous.TestReceiver</remote>
           
<ejb-class>com.hitachi.hitel.genesis.em.asynchronous.TestReceiverBean</ejb-class>
            <session-type>Stateless</session-type>
         </session>
      </enterprise-beans>
      <assembly-descriptor>
         <security-role>
            <description>Users</description>
            <role-name>users</role-name>
         </security-role>
         <method-permission>
            <description>Not restricted</description>
            <role-name>users</role-name>
            <method>
              
<ejb-name>com.hitachi.hitel.genesis.em.asynchronous.Generator</ejb-name>
               <method-name>*</method-name>
            </method>
         </method-permission>

           <method-permission>
            <description>Not restricted</description>
            <role-name>users</role-name>
            <method>
              
<ejb-name>com.hitachi.hitel.genesis.em.asynchronous.TestController</ejb-name>
               <method-name>*</method-name>
            </method>
         </method-permission>
                <method-permission>
            <description>Not restricted</description>
            <role-name>users</role-name>
            <method>
              
<ejb-name>com.hitachi.hitel.genesis.em.asynchronous.TestReceiver</ejb-name>
               <method-name>*</method-name>
            </method>
         </method-permission>

      </assembly-descriptor>
</ejb-jar>

GeneratorBean.java

Reply via email to