Hi, Here's a strange bug. I have some MBean code that does our system initialisation for us. On startup of JBoss (Version 3.0.5), it gets a TransactionRolledBackLocalException. However, if I redeploy our EAR, then it runs with no problems. I guess that I need to add another dependency. But what should I add?
Here's the JBoss-service.xml <?xml version="1.0" encoding="UTF-8"?> <server> <mbean code="xcom.traxbahn.system.TraxbahnManagement" name="TIPS:service=TraxbahnManager"> <depends>jboss.jca:service=LocalTxDS,name=OracleDS</depends> <depends>jboss.j2ee:service=EJB,jndiName=ejb/CurrencyBc</depends> <depends>jboss.j2ee:service=EJB,jndiName=ejb/LoginBc</depends> <depends>jboss.j2ee:service=EJB,jndiName=ejb/local/User</depends> <depends>jboss.j2ee:service=EJB,jndiName=ejb/local/UserGroup</depends> <depends>jboss.j2ee:service=EJB,jndiName=ejb/local/Command</depends> <depends>jboss.j2ee:service=EJB,jndiName=ejb/local/SubCommand</depends> </mbean> </server> Here's the bit of code I call in the MBean: public void startService() { log.info( "Starting Service" ); refreshSysConfig(); // Uses direct JDBC calls. Connection looked up in JNDI. refreshCurrencyManager(); // Uses direct JDBC calls. Connection looked up in JNDI. refreshIssuers(); // Uses direct JDBC calls. Connection looked up in JNDI. ensureTwoAdmins(); // The offending problem - uses Entity beans } public String ensureTwoAdmins() { try { log.info("Attempting to ensure two admins"); LoginBcHome home = (LoginBcHome)RemoteHomeFactory.getFactory().lookUpHome( LoginBcHome.class, JndiNames.JNDI_NAMES_LOGIN_BC_REMOTE ); LoginBcRemote loginBean = home.create(); Collection admins = loginBean.findUsersInGroup("admin"); // Marked as txn required if ( admins.size() < 2 ) { loginBean.removeAllUsers(); createUser( "admin", "admin", "admin" ); createUser( "system", "system", "admin" ); return "Created admin/admin, system/system and god"; } } catch (CreateException e) { } catch (RemoteException e) { } catch (TBException e) { } return "No new users created"; } Finally, here's the exception stack trace. 11:12:11,525 ERROR [LogInterceptor] TransactionRolledbackLocalException, causedBy: java.lang.NullPointerException at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.createBeanClassInstance(JDBCStoreManager.java:513) at org.jboss.ejb.plugins.CMPPersistenceManager.createBeanClassInstance(CMPPersistenceManager.java:165) at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.createBeanClassInstance(CachedConnectionInterceptor.java:251) at org.jboss.ejb.EntityContainer.createBeanClassInstance(EntityContainer.java:294) at org.jboss.ejb.plugins.AbstractInstancePool.get(AbstractInstancePool.java:184) at org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(EntityInstanceInterceptor.java:78) at org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityLockInterceptor.java:79) at org.jboss.ejb.plugins.EntityCreationInterceptor.invokeHome(EntityCreationInterceptor.java:44) at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:111) at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:228) at org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:62) at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.java:105) at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:129) at org.jboss.ejb.EntityContainer.invokeHome(EntityContainer.java:487) at org.jboss.ejb.plugins.local.BaseLocalContainerInvoker.invokeHome(BaseLocalContainerInvoker.java:230) at org.jboss.ejb.plugins.local.LocalHomeProxy.invoke(LocalHomeProxy.java:110) at $Proxy234.findByPrimaryKey(Unknown Source) at xcom.traxbahn.bproc.bcomponents.ejb.LoginBcBean.findUsersInGroup(LoginBcBean.java:453) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:660) at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:186) at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:77) at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:107) at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:228) at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:92) at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:130) at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:204) 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 $Proxy242.findUsersInGroup(Unknown Source) at xcom.traxbahn.system.TraxbahnManagement.ensureTwoAdmins(TraxbahnManagement.java:91) at xcom.traxbahn.system.TraxbahnManagement.startService(TraxbahnManagement.java:79) at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:165) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517) at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:1003) at $Proxy4.start(Unknown Source) at org.jboss.system.ServiceController.start(ServiceController.java:413) at org.jboss.system.ServiceController.start(ServiceController.java:433) at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517) at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174) at $Proxy188.start(Unknown Source) at org.jboss.ejb.EjbModule.startService(EjbModule.java:430) at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:165) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517) at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:1003) at $Proxy4.start(Unknown Source) at org.jboss.system.ServiceController.start(ServiceController.java:413) at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517) at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174) at $Proxy10.start(Unknown Source) at org.jboss.ejb.EJBDeployer.start(EJBDeployer.java:395) at org.jboss.deployment.MainDeployer.start(MainDeployer.java:814) at org.jboss.deployment.MainDeployer.start(MainDeployer.java:806) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:627) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:591) at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517) at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174) at $Proxy3.deploy(Unknown Source) at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:435) at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:561) at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:21 2) at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:225) at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:202) Ciao, Jonathan O'Connor Development Manager XCOM Dublin Phone: +353 1 872 3305 Mobile: +353 86 824 0736 ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user