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

Reply via email to