users@glassfish.java.net

Sun Application Server 9: JMS Issues

From: Farooq Muhammed <farooq_1231_at_yahoo.com>
Date: Tue, 8 Jan 2008 21:57:58 -0800 (PST)

Hi,

I am posting this to the mailing list instead of the
discussion forum because i am unable to post a thread
at java.net GlassFish, although i have a registered
user. (If anyone can help me with that it'll be great)

I am using Sun Application Server 9 for an application
which sends/receives messages to jms queues. A
listener is registered for each queue. The onMessage
method for the listener is working fine and receiving
messages correctly. I have also verified that there is
no unhandled exception in the onMessage method, so
this ensures that the messages are getting
acknowldeged.

The problem that i am facing is that whenever i
restart the application (by obtaining a new connection
from the pool and starting a new session), all the
previous messages are redelivered again as if they
were never acknowledged. I have checked the server
logs and found 2 exceptions as below:

[#|2008-01-08T00:30:05.000+0500|INFO|sun-appserver9.1|javax.enterprise.system.stream.out|_ThreadID=38;_ThreadName=Session7104454069156718592;|
DirectConsumer:Caught Exception delivering
messagecom.sun.messaging.jmq.io.Packet cannot be cast
to com.sun.messaging.jms.ra.DirectPacket|#]

[#|2008-01-08T11:05:16.921+0500|WARNING|sun-appserver9.1|javax.jms.Connection.mqjmsra|_ThreadID=37;_ThreadName=RMI
TCP
Connection(10)-127.0.0.1;_RequestID=10c9dd3c-1075-4dda-a005-2aac850f8e0c;|MQJMSRA_DC2001:
connectionId=7446164700626631168:_destroy():called on
a connection that was not closed.|#]
[#|2008-01-08T11:05:16.937+0500|FINE|sun-appserver9.1|javax.enterprise.resource.resourceadapter|_ThreadID=37;_ThreadName=RMI
TCP
Connection(10)-127.0.0.1;ClassName=com.sun.enterprise.resource.AbstractResourcePool;MethodName=destroyResource;_RequestID=10c9dd3c-1075-4dda-a005-2aac850f8e0c;|RAR5035:Unexpected
exception while destroying resource. To get exception
stack, please change log level to FINE.
com.sun.enterprise.resource.PoolingException
        at
com.sun.enterprise.resource.ConnectorAllocator.destroyResource(ConnectorAllocator.java:178)
        at
com.sun.enterprise.resource.AbstractResourcePool.destroyResource(AbstractResourcePool.java:924)
        at
com.sun.enterprise.resource.AbstractResourcePool.emptyPool(AbstractResourcePool.java:1507)
        at
com.sun.enterprise.resource.PoolManagerImpl.killPool(PoolManagerImpl.java:574)
        at
com.sun.enterprise.resource.PoolManagerImpl.killAllPools(PoolManagerImpl.java:867)
        at
com.sun.enterprise.server.ApplicationServer.onTermination(ApplicationServer.java:574)
        at
com.sun.enterprise.server.Shutdown.startShutdown(Shutdown.java:76)
        at
com.sun.enterprise.admin.event.AdminEventMulticaster.invokeShutdownEventListener(AdminEventMulticaster.java:1501)
        at
com.sun.enterprise.admin.event.AdminEventMulticaster.handleShutdownEvent(AdminEventMulticaster.java:1490)
        at
com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:480)
        at
com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:176)
        at
com.sun.enterprise.admin.server.core.channel.AdminChannelServer.sendNotification(AdminChannelServer.java:121)
        at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305)
        at
sun.rmi.transport.Transport$1.run(Transport.java:159)
        at java.security.AccessController.doPrivileged(Native
Method)
        at
sun.rmi.transport.Transport.serviceCall(Transport.java:155)
        at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
        at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
        at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
        at java.lang.Thread.run(Thread.java:619)
java.lang.NullPointerException
        at
com.sun.messaging.jmq.jmsserver.service.imq.IMQDirectService.checkConnectionId(IMQDirectService.java:2454)
        at
com.sun.messaging.jmq.jmsserver.service.imq.IMQDirectService.destroyConnection(IMQDirectService.java:453)
        at
com.sun.messaging.jms.ra.DirectConnection._destroy(DirectConnection.java:715)
        at
com.sun.messaging.jms.ra.ManagedConnection.destroy(ManagedConnection.java:332)
        at
com.sun.enterprise.resource.ConnectorAllocator.destroyResource(ConnectorAllocator.java:175)
        at
com.sun.enterprise.resource.AbstractResourcePool.destroyResource(AbstractResourcePool.java:924)
        at
com.sun.enterprise.resource.AbstractResourcePool.emptyPool(AbstractResourcePool.java:1507)
        at
com.sun.enterprise.resource.PoolManagerImpl.killPool(PoolManagerImpl.java:574)
        at
com.sun.enterprise.resource.PoolManagerImpl.killAllPools(PoolManagerImpl.java:867)
        at
com.sun.enterprise.server.ApplicationServer.onTermination(ApplicationServer.java:574)
        at
com.sun.enterprise.server.Shutdown.startShutdown(Shutdown.java:76)
        at
com.sun.enterprise.admin.event.AdminEventMulticaster.invokeShutdownEventListener(AdminEventMulticaster.java:1501)
        at
com.sun.enterprise.admin.event.AdminEventMulticaster.handleShutdownEvent(AdminEventMulticaster.java:1490)
        at
com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:480)
        at
com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:176)
        at
com.sun.enterprise.admin.server.core.channel.AdminChannelServer.sendNotification(AdminChannelServer.java:121)
        at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305)
        at
sun.rmi.transport.Transport$1.run(Transport.java:159)
        at java.security.AccessController.doPrivileged(Native
Method)
        at
sun.rmi.transport.Transport.serviceCall(Transport.java:155)
        at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
        at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
        at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
        at java.lang.Thread.run(Thread.java:619)

Please help me out with this issue or guide me to the
proper forum.

Thanks is advance.


      ____________________________________________________________________________________
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ