4 Replies Latest reply on Feb 25, 2004 9:01 PM by 3004

    QueueBrowser and Session problems

    3004

                Hi,
                
                I'm trying to create a QueueBrowser on WL 6.1-SP4/JDK 1.3.0-01, and I keep getting
                the following exception:
                
                weblogic.jms.common.JMSException: Session not found
                at weblogic.rmi.internal.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:85)
                at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:135)
                at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35)
                at $Proxy2.dispatchSyncFuture(Unknown Source)
                at weblogic.jms.dispatcher.DispatcherWrapperState.dispatchSync(DispatcherWrapperState.java:262)
                at weblogic.jms.client.JMSSession.createBackEndBrowser(JMSSession.java:1454)
                at weblogic.jms.client.JMSQueueBrowser.<init>(JMSQueueBrowser.java:44)
                at weblogic.jms.client.JMSSession.createBrowser(JMSSession.java:1206)
                at weblogic.jms.client.JMSSession.createBrowser(JMSSession.java:1172)
                at com.gs.eq.sl.jmsqueuemonitor.JMSQueueMonitor.createBrowser(JMSQueueMonitor.java:110)
                
                
                My code is very simple:
                * I lookup a QueueConnectionFactory
                * I create a QueueConnection from it
                * I lookup the Queue
                * I create a session from the connection
                * I create a browser using the session/queue.
                
                
                My code (last line in stack-trace above) looks like:
                
                QueueConnectionFactory queueFactory = (QueueConnectionFactory)PortableRemoteObject.narrow(
                     ic.lookup("jms.factory.QueueConnectionFactory", QueueConnectionFactory.class);
                QueueConnection queueConn = queueFactory.createQueueConnection();
                Queue queue = (Queue)PortableRemoteObject.narrow(ic.lookup(queueJNDIName),
                Queue.class);
                QueueSession queueSess = queueConn.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
                QueueBrowser browser = queueSess.createBrowser(queue); // Line 110
                
                Please help.
                
                Thanks.
                
                
        • 1. Re: QueueBrowser and Session problems
          3004

                    Sorry, the JDK version is 1.3.1-01, not 1.3.0-01.
                    
                    "Perry Renjen" <perry.renjen@gs.com> wrote:
                    >
                    >Hi,
                    >
                    >I'm trying to create a QueueBrowser on WL 6.1-SP4/JDK 1.3.1-01, and I
                    >keep getting
                    >the following exception:
                    >
                    >weblogic.jms.common.JMSException: Session not found
                    > at weblogic.rmi.internal.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:85)
                    > at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:135)
                    > at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35)
                    > at $Proxy2.dispatchSyncFuture(Unknown Source)
                    > at weblogic.jms.dispatcher.DispatcherWrapperState.dispatchSync(DispatcherWrapperState.java:262)
                    > at weblogic.jms.client.JMSSession.createBackEndBrowser(JMSSession.java:1454)
                    > at weblogic.jms.client.JMSQueueBrowser.<init>(JMSQueueBrowser.java:44)
                    > at weblogic.jms.client.JMSSession.createBrowser(JMSSession.java:1206)
                    > at weblogic.jms.client.JMSSession.createBrowser(JMSSession.java:1172)
                    > at com.gs.eq.sl.jmsqueuemonitor.JMSQueueMonitor.createBrowser(JMSQueueMonitor.java:110)
                    >
                    >
                    >My code is very simple:
                    >* I lookup a QueueConnectionFactory
                    >* I create a QueueConnection from it
                    >* I lookup the Queue
                    >* I create a session from the connection
                    >* I create a browser using the session/queue.
                    >
                    >
                    >My code (last line in stack-trace above) looks like:
                    >
                    > QueueConnectionFactory queueFactory = (QueueConnectionFactory)PortableRemoteObject.narrow(
                    >     ic.lookup("jms.factory.QueueConnectionFactory",
                    >QueueConnectionFactory.class);
                    > QueueConnection queueConn = queueFactory.createQueueConnection();
                    > Queue queue = (Queue)PortableRemoteObject.narrow(ic.lookup(queueJNDIName),
                    >Queue.class);
                    > QueueSession queueSess = queueConn.createQueueSession(false,
                    >Session.AUTO_ACKNOWLEDGE);
                    > QueueBrowser browser = queueSess.createBrowser(queue); // Line
                    >110
                    >
                    >Please help.
                    >
                    >Thanks.
                    >
                    
                    
          • 2. Re: QueueBrowser and Session problems
            3004
            Hmm, I wonder if there is a naming conflict. If
                      the client is contacting multiple WL servers make
                      sure:
                      
                      each WL domain
                      each WL server
                      each JMS server
                      and each JMS store
                      
                      are named differently. Even if they are in
                      different domains. If this isn't the problem,
                      you can post your config.xml, and I'll take
                      a quick look at it.
                      
                      Tom
                      
                      Perry Renjen wrote:
                      
                      > Sorry, the JDK version is 1.3.1-01, not 1.3.0-01.
                      >
                      > "Perry Renjen" <perry.renjen@gs.com> wrote:
                      >
                      >>Hi,
                      >>
                      >>I'm trying to create a QueueBrowser on WL 6.1-SP4/JDK 1.3.1-01, and I
                      >>keep getting
                      >>the following exception:
                      >>
                      >>weblogic.jms.common.JMSException: Session not found
                      >> at weblogic.rmi.internal.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:85)
                      >> at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:135)
                      >> at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35)
                      >> at $Proxy2.dispatchSyncFuture(Unknown Source)
                      >> at weblogic.jms.dispatcher.DispatcherWrapperState.dispatchSync(DispatcherWrapperState.java:262)
                      >> at weblogic.jms.client.JMSSession.createBackEndBrowser(JMSSession.java:1454)
                      >> at weblogic.jms.client.JMSQueueBrowser.<init>(JMSQueueBrowser.java:44)
                      >> at weblogic.jms.client.JMSSession.createBrowser(JMSSession.java:1206)
                      >> at weblogic.jms.client.JMSSession.createBrowser(JMSSession.java:1172)
                      >> at com.gs.eq.sl.jmsqueuemonitor.JMSQueueMonitor.createBrowser(JMSQueueMonitor.java:110)
                      >>
                      >>
                      >>My code is very simple:
                      >>* I lookup a QueueConnectionFactory
                      >>* I create a QueueConnection from it
                      >>* I lookup the Queue
                      >>* I create a session from the connection
                      >>* I create a browser using the session/queue.
                      >>
                      >>
                      >>My code (last line in stack-trace above) looks like:
                      >>
                      >> QueueConnectionFactory queueFactory = (QueueConnectionFactory)PortableRemoteObject.narrow(
                      >>     ic.lookup("jms.factory.QueueConnectionFactory",
                      >>QueueConnectionFactory.class);
                      >> QueueConnection queueConn = queueFactory.createQueueConnection();
                      >> Queue queue = (Queue)PortableRemoteObject.narrow(ic.lookup(queueJNDIName),
                      >>Queue.class);
                      >> QueueSession queueSess = queueConn.createQueueSession(false,
                      >>Session.AUTO_ACKNOWLEDGE);
                      >> QueueBrowser browser = queueSess.createBrowser(queue); // Line
                      >>110
                      >>
                      >>Please help.
                      >>
                      >>Thanks.
                      >>
                      >
                      >
                      
                      
            • 3. Re: QueueBrowser and Session problems
              3004

                        It doesn't look like there is a naming conflict. I am attaching a file that contains
                        both, excerpts of the code that I'm using to generate this exception, and the
                        config.xml file.
                        
                        Thanks.
                        Perry
                        
                        
                        ========================================
                        Tom Barnes <pleasereplyinnewsgroup.weblogic.developer.interest.jms@newsgroups.bea.com>
                        wrote:
                        >Hmm, I wonder if there is a naming conflict. If
                        >the client is contacting multiple WL servers make
                        >sure:
                        >
                        > each WL domain
                        > each WL server
                        > each JMS server
                        > and each JMS store
                        >
                        >are named differently. Even if they are in
                        >different domains. If this isn't the problem,
                        >you can post your config.xml, and I'll take
                        >a quick look at it.
                        >
                        >Tom
                        >
                        >Perry Renjen wrote:
                        >
                        >> Sorry, the JDK version is 1.3.1-01, not 1.3.0-01.
                        >>
                        >> "Perry Renjen" <perry.renjen@gs.com> wrote:
                        >>
                        >>>Hi,
                        >>>
                        >>>I'm trying to create a QueueBrowser on WL 6.1-SP4/JDK 1.3.1-01, and
                        >I
                        >>>keep getting
                        >>>the following exception:
                        >>>
                        >>>weblogic.jms.common.JMSException: Session not found
                        >>> at weblogic.rmi.internal.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:85)
                        >>> at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:135)
                        >>> at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35)
                        >>> at $Proxy2.dispatchSyncFuture(Unknown Source)
                        >>> at weblogic.jms.dispatcher.DispatcherWrapperState.dispatchSync(DispatcherWrapperState.java:262)
                        >>> at weblogic.jms.client.JMSSession.createBackEndBrowser(JMSSession.java:1454)
                        >>> at weblogic.jms.client.JMSQueueBrowser.<init>(JMSQueueBrowser.java:44)
                        >>> at weblogic.jms.client.JMSSession.createBrowser(JMSSession.java:1206)
                        >>> at weblogic.jms.client.JMSSession.createBrowser(JMSSession.java:1172)
                        >>> at com.gs.eq.sl.jmsqueuemonitor.JMSQueueMonitor.createBrowser(JMSQueueMonitor.java:110)
                        >>>
                        >>>
                        >>>My code is very simple:
                        >>>* I lookup a QueueConnectionFactory
                        >>>* I create a QueueConnection from it
                        >>>* I lookup the Queue
                        >>>* I create a session from the connection
                        >>>* I create a browser using the session/queue.
                        >>>
                        >>>
                        >>>My code (last line in stack-trace above) looks like:
                        >>>
                        >>> QueueConnectionFactory queueFactory = (QueueConnectionFactory)PortableRemoteObject.narrow(
                        >>>     ic.lookup("jms.factory.QueueConnectionFactory",
                        >>>QueueConnectionFactory.class);
                        >>> QueueConnection queueConn = queueFactory.createQueueConnection();
                        >>> Queue queue = (Queue)PortableRemoteObject.narrow(ic.lookup(queueJNDIName),
                        >>>Queue.class);
                        >>> QueueSession queueSess = queueConn.createQueueSession(false,
                        >>>Session.AUTO_ACKNOWLEDGE);
                        >>> QueueBrowser browser = queueSess.createBrowser(queue); // Line
                        >>>110
                        >>>
                        >>>Please help.
                        >>>
                        >>>Thanks.
                        >>>
                        >>
                        >>
                        >
                        [JMSQueueMonitor.java]
                        
              • 4. Re: QueueBrowser and Session problems
                3004
                Hi Perry,
                          
                          After a quick look, I'm still not sure what
                          could be going wrong. I have wild
                          guesses, but the exception you are getting
                          is odd, and I suggest that you contact customer
                          support (with a reproducer) if you haven't already.
                          
                          The wild guesses:
                          
                          (1) Check your log file for Warning/Error messages.
                          
                          (2) Make extra sure that the code is using right URL
                          for the JMS server.
                          
                          (3) Try calling connection.start() before creating
                          the browsers.
                          
                          (4) Try naming the JNDI name of the problem queue
                          something else - I wonder if the re-use of JNDI
                          subpaths introduced a conflict:
                          
                          jms/queue/NYPestSvcQ
                          jms/queue/cprc/RateChangeError
                          jms.queue.SII_TRADES_OUT
                          jms.queue.CM_REQUEST
                          jms/queue/GHOST/CPRS/Error
                          jms/queue/CSW/out
                          jms.queue.TEST
                          jms.queue.SII_ERROR
                          jms/queue/CPS/out
                          jms/queue/SampleQueue
                          jms/queue/DefaultDeadMessage
                          jms/queue/GLO/out
                          jms.queue.TEST_GHOST_OUT
                          jms/queue/arrangedfinancing/ArrangedFinancingQueue
                          jms/queue/PestDBMgrQ
                          jms/queue/cprc/RateChange
                          jms.queue.EUROGOV_OUT
                          jms/queue/arrangedfinancing/ArrangedFinancingReportQueue
                          jms/queue/SLK/Bridge
                          jms/queue/EMarketDefaultDeadMessage
                          
                          (Note that WebLogic treates "/" and "." as equivalent.)
                          
                          Perry Renjen wrote:
                          
                          > It doesn't look like there is a naming conflict. I am attaching a file that contains
                          > both, excerpts of the code that I'm using to generate this exception, and the
                          > config.xml file.
                          >
                          > Thanks.
                          > Perry
                          >
                          >
                          > ========================================
                          > Tom Barnes <pleasereplyinnewsgroup.weblogic.developer.interest.jms@newsgroups.bea.com>
                          > wrote:
                          >
                          >>Hmm, I wonder if there is a naming conflict. If
                          >>the client is contacting multiple WL servers make
                          >>sure:
                          >>
                          >> each WL domain
                          >> each WL server
                          >> each JMS server
                          >> and each JMS store
                          >>
                          >>are named differently. Even if they are in
                          >>different domains. If this isn't the problem,
                          >>you can post your config.xml, and I'll take
                          >>a quick look at it.
                          >>
                          >>Tom
                          >>
                          >>Perry Renjen wrote:
                          >>
                          >>
                          >>>Sorry, the JDK version is 1.3.1-01, not 1.3.0-01.
                          >>>
                          >>>"Perry Renjen" <perry.renjen@gs.com> wrote:
                          >>>
                          >>>
                          >>>>Hi,
                          >>>>
                          >>>>I'm trying to create a QueueBrowser on WL 6.1-SP4/JDK 1.3.1-01, and
                          >>
                          >>I
                          >>
                          >>>>keep getting
                          >>>>the following exception:
                          >>>>
                          >>>>weblogic.jms.common.JMSException: Session not found
                          >>>> at weblogic.rmi.internal.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:85)
                          >>>> at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:135)
                          >>>> at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35)
                          >>>> at $Proxy2.dispatchSyncFuture(Unknown Source)
                          >>>> at weblogic.jms.dispatcher.DispatcherWrapperState.dispatchSync(DispatcherWrapperState.java:262)
                          >>>> at weblogic.jms.client.JMSSession.createBackEndBrowser(JMSSession.java:1454)
                          >>>> at weblogic.jms.client.JMSQueueBrowser.<init>(JMSQueueBrowser.java:44)
                          >>>> at weblogic.jms.client.JMSSession.createBrowser(JMSSession.java:1206)
                          >>>> at weblogic.jms.client.JMSSession.createBrowser(JMSSession.java:1172)
                          >>>> at com.gs.eq.sl.jmsqueuemonitor.JMSQueueMonitor.createBrowser(JMSQueueMonitor.java:110)
                          >>>>
                          >>>>
                          >>>>My code is very simple:
                          >>>>* I lookup a QueueConnectionFactory
                          >>>>* I create a QueueConnection from it
                          >>>>* I lookup the Queue
                          >>>>* I create a session from the connection
                          >>>>* I create a browser using the session/queue.
                          >>>>
                          >>>>
                          >>>>My code (last line in stack-trace above) looks like:
                          >>>>
                          >>>> QueueConnectionFactory queueFactory = (QueueConnectionFactory)PortableRemoteObject.narrow(
                          >>>>     ic.lookup("jms.factory.QueueConnectionFactory",
                          >>>>QueueConnectionFactory.class);
                          >>>> QueueConnection queueConn = queueFactory.createQueueConnection();
                          >>>> Queue queue = (Queue)PortableRemoteObject.narrow(ic.lookup(queueJNDIName),
                          >>>>Queue.class);
                          >>>> QueueSession queueSess = queueConn.createQueueSession(false,
                          >>>>Session.AUTO_ACKNOWLEDGE);
                          >>>> QueueBrowser browser = queueSess.createBrowser(queue); // Line
                          >>>>110
                          >>>>
                          >>>>Please help.
                          >>>>
                          >>>>Thanks.
                          >>>>
                          >>>
                          >>>