[jboss-user] [JCA/JBoss] - JCA Problem: java.lang.IllegalStateException: Trying to retu
groovie
do-not-reply at jboss.com
Wed Aug 5 08:31:10 EDT 2009
Dear Sirs,
i am developping my very first outbound connector and have
still a litte problem on closing my connection handle.
Aquireing and use of connection from a pool does work
without any problem. Closing the connection from a
session acutally cause a problem.
I guess i have overseen something.
The runtime environment:
Operating-System: Fedora-11 Linux
JAVA: Java version: 1.6.0_0,Sun Microsystems Inc.
Java VM: OpenJDK Server VM 14.0-b15,Sun Microsystems Inc.
(shipped with this Linux-OS)
Jboss: 4.2.3.GA
Here is the stack-trace from the closing-thread:
------------------------------------------------
06:59:17,744 INFO [NoTxConnectionManager] Throwable from unregisterConnection
java.lang.IllegalStateException: Trying to return an unknown connection2! null
at org.jboss.resource.connectionmanager.CachedConnectionManager.unregisterConnection(CachedConnectionManager.java:342)
at org.jboss.resource.connectionmanager.NoTxConnectionManager$NoTxConnectionEventListener.connectionClosed(NoTxConnectionManager.java:88)
at de.dialog_leben.bfs.risikopruefung.connector.normrisk.resource.ManagedNrConnection.closeHandle(ManagedNrConnection.java:280)
at de.dialog_leben.bfs.risikopruefung.connector.normrisk.resource.NormRiskConnectionImpl.close(NormRiskConnectionImpl.java:30)
at de.dialog_leben.bfs.risikopruefung.business.test.normrisk.NRConnectorTest.testSimpleAccess(NRConnectorTest.java:89)
at de.dialog_leben.bfs.risikopruefung.ejb.NormRiskTestAccessServiceBean.testSimpleAccess(NormRiskTestAccessServiceBean.java:42)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
(....)
Here is the stack-trace from the registering-thread:
----------------------------------------------------
07:08:14,445 INFO [CachedConnectionManager] Closing a connection for you. Please close them yourself: de.dialog_leben.bfs.risikopruefung.connector.normrisk.resource.NormRiskConnectionImpl at dce075
java.lang.Throwable: STACKTRACE
at org.jboss.resource.connectionmanager.CachedConnectionManager.registerConnection(CachedConnectionManager.java:290)
at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:423)
at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:849)
at de.dialog_leben.bfs.risikopruefung.connector.normrisk.driver.NormRiskConnectionFactoryImpl.getConnection(NormRiskConnectionFactoryImpl.java:87)
at de.dialog_leben.bfs.risikopruefung.connector.normrisk.driver.NormRiskConnectionFactoryImpl.getConnection(NormRiskConnectionFactoryImpl.java:76)
at de.dialog_leben.bfs.risikopruefung.business.test.normrisk.NRConnectorTest.testSimpleAccess(NRConnectorTest.java:82)
at de.dialog_leben.bfs.risikopruefung.ejb.NormRiskTestAccessServiceBean.testSimpleAccess(NormRiskTestAccessServiceBean.java:42)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
In order to understand what's going wrong i downloaded JBoss-sourcecode
and followed the debugger. I located the problem in the nested class/method:
org.jboss.resource.connectionmanager.NoTxConnectionManager.NoTxConnectionManager/connectionClosed
ce.getConnectionHandle());
}
The ce.getConnectionHandle() expression returns null, that seems to cause the problem.
Therefore i think that i forgot to assign a connectionHandle in my ManagedConnection, cause
ce referes to
ce = new ConnectionEvent(this, ConnectionEvent.CONNECTION_CLOSED) ;
where this referes to my managed connection and ce Event was created in the
managedConnection method closeHandle.
Thank you for your help,
Groovy
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4248110#4248110
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4248110
More information about the jboss-user
mailing list