I'm using the sun-jms-connector as a standard RAR (global)
against which I send and receive
cache flush notifications (listening on a topic).
I continue to get JMSJCA-E153 messages (session is closed) when
trying to send the notification.
These cache flush notifications are generated by Hibernate
(second level cache) and are part of a
transaction synchronization. The event handler is OSCache which
then delegates to my code to
send the message. In my message sender, I have a Spring
JmsTemplate that has the
TopicConnectionFactory and the Topic. I'm wondering if there is
an option that folks know about
for keeping the session open (or forcing a new session). I'm not
sure about ProducerPooling and
will try that.
I'm only setting UserName, Password the ConnectionURL on the
TCF. I'm running on Glassfish V2
against the LOCAL OpenMQ broker.
Thoughts?
Brian
[#|2008-12-19T15:14:01.440-0600|INFO|sun-appserver9.1|javax.enter
prise.system.stream.out|_ThreadID=19;_ThreadName=httpSSLWorkerThr
ead-7001-1;|ramewo
alStateException: JMSJCA-E153: This Session is closed; nested
exception is javax.jms.IllegalStateException: JMSJCA-E153: This
Session is closed
at
org.springframework.jms.support.JmsUtils.convertJmsAccessExceptio
n(JmsUtils.java:252)
at
org.springframework.jms.support.JmsAccessor.convertJmsAccessExcep
tion(JmsAccessor.java:168)
at
org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java
:462)
at
org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:52
6)
at
org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:51
8)
at
com.biperf.cache.oscache.cluster.jms.SpringJmsBroadcastListener.s
endNotification(SpringJmsBroadcastListener.java:213)
at
com.opensymphony.oscache.plugins.clustersupport.AbstractBroadcast
ingListener.cacheEntryFlushed(AbstractBroadcastingListener.java:4
9)
at
com.opensymphony.oscache.base.Cache.dispatchCacheEntryEvent(Cache
.java:856)
at
com.opensymphony.oscache.base.Cache.flushEntry(Cache.java:982)
at
com.opensymphony.oscache.base.Cache.flushEntry(Cache.java:491)
at
com.opensymphony.oscache.base.Cache.flushEntry(Cache.java:478)
at
com.biperf.cache.oscache.ManageableCacheAdministrator.flushEntry(
ManageableCacheAdministrator.java:90)
at
com.biperf.cache.oscache.OSCacheImpl.remove(OSCacheImpl.java:100)
at
com.biperf.cache.hibernate.CacheWrapper.remove(CacheWrapper.java:
55)
at
org.hibernate.cache.NonstrictReadWriteCache.release(NonstrictRead
WriteCache.java:145)
at
org.hibernate.action.EntityUpdateAction.afterTransactionCompletio
n(EntityUpdateAction.java:248)
at
org.hibernate.engine.ActionQueue.afterTransactionCompletion(Actio
nQueue.java:198)
... 161 more
Caused by: javax.jms.IllegalStateException: JMSJCA-E153: This
Session is closed
at com.stc.jmsjca.util.Exc.illstate(Exc.java:207)
at
com.stc.jmsjca.core.WSession.invokeOnClosed(WSession.java:129)
at
com.stc.jmsjca.core.WSession.checkClosed(WSession.java:146)
at
com.stc.jmsjca.core.WSession.createProducer(WSession.java:431)
at
org.springframework.jms.core.JmsTemplate.doCreateProducer(JmsTemp
late.java:974)
at
org.springframework.jms.core.JmsTemplate.createProducer(JmsTempla
te.java:955)
at
org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:
555)
at
org.springframework.jms.core.JmsTemplate$3.doInJms(JmsTemplate.ja
va:528)
at
org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java
:459)
... 175 more
[#|2008-12-19T15:14:01.440-0600|INFO|sun-appserver9.1|javax.enter
prise.system.stream.out|_ThreadID=19;_ThreadName=httpSSLWorkerThr
ead-7001-1;|2008-12-19 15:14
1,424 ERROR [httpSSLWorkerThread-7001-1]:server
(TransactionSynchronizationUtils.java:136) -
TransactionSynchronization.afterCompletion threw exception
org.hibernate.AssertionFailure: Exception releasing cache locks
at
org.hibernate.engine.ActionQueue.afterTransactionCompletion(Actio
nQueue.java:211)
at
org.hibernate.impl.SessionImpl.afterTransactionCompletion(Session
Impl.java:424)
at
org.springframework.orm.hibernate3.SpringSessionSynchronization.a
fterCompletion(SpringSessionSynchronization.java:220)
at
org.springframework.transaction.support.TransactionSynchronizatio
nUtils.invokeAfterCompletion(TransactionSynchronizationUtils.java
:133)
at
org.springframework.transaction.support.AbstractPlatformTransacti
onManager.invokeAfterCompletion(AbstractPlatformTransactionManage
r.java:951)
at
org.springframework.transaction.support.AbstractPlatformTransacti
onManager.triggerAfterCompletion(AbstractPlatformTransactionManag
er.java:926)
at
org.springframework.transaction.support.AbstractPlatformTransacti
onManager.doRollbackOnCommitException(AbstractPlatformTransaction
Manager.java:869)
at
org.springframework.transaction.support.AbstractPlatformTransacti
onManager.processCommit(AbstractPlatformTransactionManager.java:7
37)
at
org.springframework.transaction.support.AbstractPlatformTransacti
onManager.commit(AbstractPlatformTransactionManager.java:678)
at
org.springframework.transaction.interceptor.TransactionAspectSupp
ort.commitTransactionAfterReturning(TransactionAspectSupport.java
:321)
at
org.springframework.transaction.interceptor.TransactionIntercepto
r.invoke(TransactionInterceptor.java:116)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proc
eed(ReflectiveMethodInvocation.java:171)
at
org.springframework.aop.interceptor.ExposeInvocationInterceptor.i
nvoke(ExposeInvocationInterceptor.java:89)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proc
eed(ReflectiveMethodInvocation.java:171)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDy
namicAopProxy.java:204)
at $Proxy118.updateMessage(Unknown Source)
at
com.biperf.cmmo.ui.message.MessagesAction.save(MessagesAction.jav
a:128)