Hi Bill

I got an exception when I ran this test (client-side) (this thread
is running ten times at the same time):
-------------------------------------------------------------------
   class RegularTeller
      implements Runnable
   {
      public void run() {
         int k = 0;
         Random lRandom = new Random();
         Category lLog = Category.getInstance( getClass().getName() );
         try {
            // Get bank first
            Collection lBanks = getBankSession().getBanks();
            System.out.println( "RegularTeller.run(), banks: " + lBanks );
            BankData lBank = (BankData) lBanks.iterator().next();
            while( !mExit && mException == null ) {
               CustomerData lCustomer = null;
               if( lRandom.nextInt( 100 ) < 10 ) {
                  lCustomer = getCustomerSession().createCustomer(
lBank.getId(), "test", 100 );
                  System.out.println( "RegularTeller.run(), new " +
lCustomer );
               } else {
                  List lCustomers = (List) getBankSession().getCustomers(
lBank.getId() );
                  System.out.println( "RegularTeller.run(), # of customers:
" + lCustomers.size() );
                  lCustomer = (CustomerData) lCustomers.get(
lRandom.nextInt( lCustomers.size() ) );
               }
            }

-------------------------------------------------------------------

the exception on the server-side:
-------------------------------------------------------------------
javax.transaction.TransactionRolledbackException: removing bean lock and it
has tx set!; nested exception is:
        java.lang.IllegalStateException: removing bean lock and it has tx
set!
java.lang.IllegalStateException: removing bean lock and it has tx set!
        at
org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock.removeRef(QueuedPessimis
ticEJBLock.java:468)
        at
org.jboss.ejb.BeanLockManager.removeLockRef(BeanLockManager.java:78)
        at
org.jboss.ejb.plugins.EntityLockInterceptor.invoke(EntityLockInterceptor.jav
a:142)
        at
org.jboss.ejb.plugins.TxInterceptorCMT.invokeNext(TxInterceptorCMT.java:138)
        at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.
java:347)
        at
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:100)
        at
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:12
7)
        at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:170)
        at org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:428)
        at
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke(JRMPContainerI
nvoker.java:504)
        at
org.jboss.ejb.plugins.jrmp.interfaces.GenericProxy.invokeContainer(GenericPr
oxy.java:335)
        at
org.jboss.ejb.plugins.jrmp.interfaces.EntityProxy.invoke(EntityProxy.java:13
3)
        at $Proxy249.getData(Unknown Source)
        at
org.jboss.test.banknew.ejbeans.CustomerSessionBean.getCustomers(CustomerSess
ionBean.java:116)
        at java.lang.reflect.Method.invoke(Native Method)
        at
org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(Stateles
sSessionContainer.java:542)
        at
org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSe
ssionInstanceInterceptor.java:82)
        at
org.jboss.ejb.plugins.TxInterceptorCMT.invokeNext(TxInterceptorCMT.java:138)
        at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.
java:347)
        at
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:100)
        at
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:12
7)
        at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:170)
        at
org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContainer.jav
a:286)
        at
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke(JRMPContainerI
nvoker.java:504)
        at
org.jboss.ejb.plugins.jrmp.interfaces.GenericProxy.invokeContainer(GenericPr
oxy.java:335)
        at
org.jboss.ejb.plugins.jrmp.interfaces.StatelessSessionProxy.invoke(Stateless
SessionProxy.java:123)
        at $Proxy236.getCustomers(Unknown Source)
        at
org.jboss.test.banknew.ejbeans.BankSessionBean.getCustomers(BankSessionBean.
java:114)
        at java.lang.reflect.Method.invoke(Native Method)
        at
org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(Stateles
sSessionContainer.java:542)
        at
org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSe
ssionInstanceInterceptor.java:82)
        at
org.jboss.ejb.plugins.TxInterceptorCMT.invokeNext(TxInterceptorCMT.java:138)
        at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.
java:347)
        at
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:100)
        at
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:12
7)
        at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:170)
        at
org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContainer.jav
a:286)
        at
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke(JRMPContainerI
nvoker.java:410)
        at java.lang.reflect.Method.invoke(Native Method)
        at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:241)
        at sun.rmi.transport.Transport$1.run(Transport.java:152)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Transport.java:148)
        at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:465)
        at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:7
06)
        at java.lang.Thread.run(Thread.java:484)
-------------------------------------------------------------------

This happens on my computer (W2K, 256MB, Pentium IV) after 1000 customers
are created. As you can see the test creates a new customer on every 10th
loop
otherwise it will retrieve all customers from the JBoss server.
Is this a known problem or shall I add it to the bug list ?

xxxxxxxxxxxxxxxxx
Andreas Schaefer
Senior Consultant
JBoss Group, LLC
xxxxxxxxxxxxxxxxx



_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to