From: SourceForge.net <no...@so...> - 2003-05-03 11:21:55
|
Bugs item #665067, was opened at 2003-01-09 16:12 Message generated for change (Comment added) made by slaboure You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=376685&aid=665067&group_id=22866 Category: JBossCX Group: v3.0 Rabbit Hole >Status: Closed >Resolution: Out of Date Priority: 5 Submitted By: Michael Ukpong (michaelukpong) Assigned to: David Jencks (d_jencks) Summary: Managed Connection equals Null! Problems in JBOSS 3.0.3 Initial Comment: The .remove() method of some Entity beans I wrote and deployed in JBoss 3.0.0 is now throwing a "Managed Connection = null" exception in Jboss 3.0.3. I earlier noticed that these entities gave a "you are not getting the semantics you expect" warning (both in Jboss 3.0.0 and 3.0.3) but I ignored this warning in Jboss 3.0.0. Could this be the cause of the exception now thrown in Jboss 3.0.3? The funny thing is that if you keep looping on the remove (), where the number of iterations is the record length of the underlying table + 1, it eventually works! So its like the managed connection is restored after a certain number of failed attempts. What could this mean? Note that this remove() method is NOT called directly from a servlet, but through a stateless session bean. ---------------------------------------------------------------------- >Comment By: Sacha Labourey (slaboure) Date: 2003-05-03 13:21 Message: Logged In: YES user_id=95900 Reopen if 3.0.5 or upper hasn't solved it as suggested by David Jencks ---------------------------------------------------------------------- Comment By: Michael Ukpong (michaelukpong) Date: 2003-01-13 15:30 Message: Logged In: YES user_id=684393 Thank you very much for responding I have not yet downloaded 3.0.5. I did not see it listed The bean is uses BMP and does NOT have any .equals() overiding method #!!!!!!!Here is the Session bean level Method that calls the remove it is Stateless public void deletePortal(Integer portalID) throws PortalException { PortalSettingsHome portalSettingsHome; PortalRolesHome portalRolesHome; PortalUsersHome portalUsersHome; PortalsHome portalsHome; java.util.Iterator i; try{ portalSettingsHome = (PortalSettingsHome) EjbUtilities.getHome("portal/PortalSettings", PortalSettingsHome.class); portalRolesHome = (PortalRolesHome) EjbUtilities.getHome("portal/PortalRoles", PortalRolesHome.class); portalUsersHome = (PortalUsersHome) EjbUtilities.getHome("portal/PortalUsers", PortalUsersHome.class); portalsHome = (PortalsHome) EjbUtilities.getHome ("portal/Portals", PortalsHome.class); // remove some dependencies i = portalSettingsHome.findByPortal (portalID).iterator(); while(i.hasNext()){ ((com.sw.portal.entity.portalSetting.PortalSettings) i.next()).remove(); } i = portalRolesHome.findByPortal(portalID).iterator(); while(i.hasNext()){ ((PortalRoles)i.next()).remove(); } i = portalUsersHome.findByPortal (portalID).iterator(); while(i.hasNext()){ ((PortalUsers)i.next()).remove(); } //finally, remove the Portal portalsHome.findByPrimaryKey(portalID).remove(); // Here is where the exception is thrown } catch (Exception e) { throw new PortalException(e.getMessage()); } } #!!!!!!! Here is the Entity bean level remove method it is a BMP public void ejbRemove() { try { String sqlStmt = "DELETE FROM Portals WHERE PortalID = ? "; con = ds.getConnection(); PreparedStatement stmt = con.prepareStatement (sqlStmt); stmt.setInt(1, portalID); stmt.executeUpdate(); stmt.close(); }catch (Exception e) { throw new EJBException(e); }finally { try { if (con != null) { con.close(); } } catch (SQLException sqle) {} } } Here is a code fragment of the exception java.lang.IllegalArgumentException: disconnect (ManagedConnection mc: null, Object c: org.jboss.resource.adapter.jdbc.local.LocalConnection@70ad 76) called with unknown managed connection at org.jboss.resource.connectionmanager.BaseConnectionMana ger2.unregisterAssociation (BaseConnectionManager2.java:661) at org.jboss.resource.connectionmanager.BaseConnectionMana ger2.disconnect(BaseConnectionManager2.java:619) at org.jboss.resource.connectionmanager.CachedConnectionMa nager.disconnect(CachedConnectionManager.java:371) at org.jboss.resource.connectionmanager.CachedConnectionMa nager.popMetaAwareObject (CachedConnectionManager.java:160) at org.jboss.resource.connectionmanager.CachedConnectionInte rceptor.invoke(CachedConnectionInterceptor.java:190) at org.jboss.ejb.plugins.EntityReentranceInterceptor.invoke (EntityReentranceInterceptor.java:64) at org.jboss.ejb.plugins.EntityInstanceInterceptor.invoke (EntityInstanceInterceptor.java:152) at org.jboss.ejb.plugins.EntityLockInterceptor.invoke (EntityLockInterceptor.java:107) at org.jboss.ejb.plugins.EntityCreationInterceptor.invoke (EntityCreationInterceptor.java:69) at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext (AbstractTxInterceptor.java:107) at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions (TxInterceptorCMT.java:178) at org.jboss.ejb.plugins.TxInterceptorCMT.invoke (TxInterceptorCMT.java:60) at org.jboss.ejb.plugins.SecurityInterceptor.invoke (SecurityInterceptor.java:130) at org.jboss.ejb.plugins.LogInterceptor.invoke (LogInterceptor.java:203) at org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:493) at org.jboss.ejb.Container.invoke(Container.java:712) at org.jboss.ejb.EntityContainer.invoke (EntityContainer.java:1058) at org.jboss.mx.server.MBeanServerImpl.invoke (MBeanServerImpl.java:517) at org.jboss.invocation.local.LocalInvoker.invoke (LocalInvoker.java:98) at org.jboss.invocation.InvokerInterceptor.invoke (InvokerInterceptor.java:102) at org.jboss.proxy.TransactionInterceptor.invoke (TransactionInterceptor.java:77) at org.jboss.proxy.SecurityInterceptor.invoke (SecurityInterceptor.java:80) at org.jboss.proxy.ejb.EntityInterceptor.invoke (EntityInterceptor.java:116) at org.jboss.proxy.ClientContainer.invoke (ClientContainer.java:76) at $Proxy282.remove(Unknown Source) at com.sw.portal.session.PortalManagerBean.deletePortal (Unknown Source) at java.lang.reflect.Method.invoke(Native Method) at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor .invoke(StatelessSessionContainer.java:660) at org.jboss.resource.connectionmanager.CachedConnectionInte rceptor.invoke(CachedConnectionInterceptor.java:186) at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.inv oke(StatelessSessionInstanceInterceptor.java:77) at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext (AbstractTxInterceptor.java:107) at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions (TxInterceptorCMT.java:178) at org.jboss.ejb.plugins.TxInterceptorCMT.invoke (TxInterceptorCMT.java:60) at org.jboss.ejb.plugins.SecurityInterceptor.invoke (SecurityInterceptor.java:130) at org.jboss.ejb.plugins.LogInterceptor.invoke (LogInterceptor.java:203) at org.jboss.ejb.StatelessSessionContainer.invoke (StatelessSessionContainer.java:313) at org.jboss.ejb.Container.invoke(Container.java:712) at org.jboss.mx.server.MBeanServerImpl.invoke (MBeanServerImpl.java:517) at org.jboss.invocation.local.LocalInvoker.invoke (LocalInvoker.java:98) at org.jboss.invocation.InvokerInterceptor.invoke (InvokerInterceptor.java:102) at org.jboss.proxy.TransactionInterceptor.invoke (TransactionInterceptor.java:77) at org.jboss.proxy.SecurityInterceptor.invoke (SecurityInterceptor.java:80) at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke (StatelessSessionInterceptor.java:111) at org.jboss.proxy.ClientContainer.invoke (ClientContainer.java:76) at $Proxy275.deletePortal(Unknown Source) at com.sw.admin.module.admin.AdminModuleBean.deletePortal s(Unknown Source) at com.sw.admin.module.admin.AdminModuleBean.execute (Unknown Source) ---------------------------------------------------------------------- Comment By: David Jencks (d_jencks) Date: 2003-01-11 14:41 Message: Logged In: YES user_id=60525 Please try 3.0.5 and see if the problem is already fixed. How about some details or a test case? BMP or CMP? If BMP, are you holding the connection between method invocations or getting it each time you need it? Have you defined .equals in your entity? Have you marked the datasource as an unsharable resource? Thanks david jencks ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=376685&aid=665067&group_id=22866 |