I use BES 5.2.1 on my developing server(A) and on business runtime server
(B). The database on both sites are JDataStore which come with BES.
I have an ear module, everything works fine on server A.
I modify the datasource URL in jndi-definitions.xml of the ear module to
server B's JDataStore, deploy the ear module to server B, it works fine at
the first 2 or 3 days, and then throws exceptions like following
error/event logs. I have tried to redeploy the ear module, restart the
partition/server, and even reboot the machine, still not working.
I back to the server A, it runs fine. I modify the datasource URL in
jndi-definitions.xml of the ear module to server B's JDataStore (let the
ejb container on server A to connect to JDataStore of server B), and I got
the same exceptions. I switch the back, it works fine again.
I use Database Pilot to connect to the JDataStore of server B. The
JDataStore server works fine.
So, can anyone give some hints what is wrong? Where is the root cause of
this problem? (ejb container, JDataStore, configurations, or else?)
Thank you very much!
Followings are what I found in logs.
-----------
Error Log
-----------
[Fri May 27 14:27:36 CST 2005] ejbcontainer: Failure in Jdbc 20
StateTransitionManager
[Fri May 27 14:27:36 CST 2005] ejbcontainer:
com.inprise.visitransact.jdbc2.StateTransitionException: Cannot invoke
finalize on a connection in state: Free
[Fri May 27 14:27:36 CST 2005] ejbcontainer: at
com.inprise.visitransact.jdbc2.StateTransitionManager.ex(StateTransitionManager.java:29)
[Fri May 27 14:27:36 CST 2005] ejbcontainer: at
com.inprise.visitransact.jdbc2.StateTransitionManager.transition(StateTransitionManager.java:197)
[Fri May 27 14:27:36 CST 2005] ejbcontainer: at
com.inprise.visitransact.jdbc2.StateTransitionManager.commitTransition(StateTransitionManager.java:35)
[Fri May 27 14:27:36 CST 2005] ejbcontainer: at
com.inprise.visitransact.jdbc2.PooledConnectionHolder.finalize(PooledConnectionHolder.java:1476)
[Fri May 27 14:27:36 CST 2005] ejbcontainer: at
java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
[Fri May 27 14:27:36 CST 2005] ejbcontainer: at
java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
[Fri May 27 14:27:36 CST 2005] ejbcontainer: at
java.lang.ref.Finalizer.access$100(Finalizer.java:14)
[Fri May 27 14:27:36 CST 2005] ejbcontainer: at
java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)
[Fri May 27 14:27:36 CST 2005] ejbcontainer: <<<< EJB LOG <<<<
-----------
Event Log
-----------
Note:
BasicDAO.java:38 is
con = ds.getConnection();
which con is defined as java.sql.Connection, ds is defined as
javax.sql.DataSource
The BasicDAO class works fine in other ear modules.
-----------
[Fri May 27 14:27:28 CST 2005] Connected to: java:comp/env/jdbc/ProductDS
[Fri May 27 14:27:28 CST 2005] java.lang.NullPointerException
[Fri May 27 14:27:28 CST 2005] at
java.util.Hashtable.put(Hashtable.java:389)
[Fri May 27 14:27:28 CST 2005] at
com.inprise.visitransact.jdbc1w2.InpriseConnectionPoolDataSource.getPooledConnection(InpriseConnectionPoolDataSource.java:107)
[Fri May 27 14:27:28 CST 2005] at
com.inprise.visitransact.jdbc2.PooledConnectionHolder$DirectStrategy.getNewPooledConnection(PooledConnectionHolder.java:853)
[Fri May 27 14:27:28 CST 2005] at
com.inprise.visitransact.jdbc2.PooledConnectionHolder.<init>(PooledConnectionHolder.java:115)
[Fri May 27 14:27:28 CST 2005] at
com.inprise.visitransact.jdbc2.GenericConnectionPool.doCreateNewElement(GenericConnectionPool.java:86)
[Fri May 27 14:27:28 CST 2005] at
com.inprise.visitransact.jdbc2.GenericPool.getPooledObject(GenericPool.java:278)
[Fri May 27 14:27:28 CST 2005] at
com.inprise.visitransact.jdbc2.GenericConnectionPool.getPooledConnection(GenericConnectionPool.java:74)
[Fri May 27 14:27:28 CST 2005] at
com.inprise.visitransact.jdbc2.InpriseDataSource.getConnection(InpriseDataSource.java:298)
[Fri May 27 14:27:28 CST 2005] at
com.inprise.visitransact.jdbc2.InpriseDataSource.getConnection(InpriseDataSource.java:322)
[Fri May 27 14:27:28 CST 2005] at
eSinter.util.dao.BasicDAO.getConnection(BasicDAO.java:38)
[Fri May 27 14:27:28 CST 2005] at
eSinter.util.dao.BasicDAO.getConnection(BasicDAO.java:30)
[Fri May 27 14:27:28 CST 2005] at
eSinter.iMiss.util.dao.ImissModuleDAO.getAllModule(ImissModuleDAO.java:32)
[Fri May 27 14:27:28 CST 2005] at
eSinter.iMiss.product.entity.ImissModuleSessionFacadeBean.getAllModules(ImissModuleSessionFacadeBean.java:139)
...
--
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
It could well be that there is mismatch in versions/
critical patches between servers.
-krish
> ....
>
Thanks for your fast response.
All our servers didn't install any patches. So I don't know is it still
the version mismatching issue.
I will ask our administrator if it possible to install such patches.
Is there any other reasons may cause such problems?
Thanks again!
B.Rgd.
Yoyo Chen
在 Fri, 27 May 2005 09:49:30 +0200, Krishnan Subramanian
<kr...@borland.com> 寫道:
I don't know what's the differences between use JBuilder and Deployment
Descriptor Editor to modify jndi-definitions.xml. But it is really strange
that what I meet!
Thanks all helps from Krish and others.
在 Fri, 27 May 2005 15:35:01 +0800, Yoyo Chen
<yoyo...@mail.sinter.com.tw> 寫道: