-
Bug
-
Resolution: Obsolete
-
Optional
-
JBossAS-3.2.7 Final, JBossAS-4.0.1 Final, JBossAS-4.0.1 SP1
-
None
The JMS ResourceAdaptor keeps track of temporaries created on a connection
(org.jboss.resource.adapter.jms.JMSSessionFactoryImpl)
and deletes them.
This is because we cannot expect the real JMS implementation to do this
because the connection is pooled and not closed.
However, if the user is deleting the temporaries themselves
(good practice in terms of resource usage),
the JMS ResourceAdapter does not know about this
and tries to repeat the delete at connection.close();
Solution:
Add some wrapping processing for the temporary queues and topics
so we can trap temporary.delete(). That way we will know we don't
need to do it on close()
IMPORTANT: Invocations like send() or JMSMessage.setJMSReplyTo will
also need to trap these destinations to do the necessary wrapping/unwrapping.
It is also possible to retrieve a temporary destination with Session.createQueue/Topic.