4 Replies Latest reply on Dec 21, 2005 9:55 AM by eprst

    Warning Messages

      Hi ppl,
      Hope u can help me
      While listing some valueobjects that were retried from entity beans using a session bean i get a lot of those messages, the listing is ok, but my console flood with those messages.

      17:40:44,077 WARN [PerTxEntityInstanceCache] Unable to passivate due to ctx lock, id=a9ae05:1016821cb6e:-7ffd

      Can any1 help me plz?

      Thanks a lot!
      Regards,
      Bruno Arruda

        • 1. Re: Warning Messages

          Sorry to bother with this problem, but im getting hundreads of those messages and i can´t reaaly understand what is going on, i turned my Entity Beans and my service's Session Beans to Transaction="NotSupported" but im still getting those freak messages. Does an1 have any idea what should i look for??
          Thx again!!
          Bruno Arruda

          • 2. Re: Warning Messages

            I was looking at my server.log and found some messages like this one

            2005-02-14 17:17:14,551 DEBUG [org.jboss.ejb.EntityContainer] Failed to register cache as mbean
            javax.management.NotCompliantMBeanException: Class does not expose a management interface: org.jboss.ejb.plugins.PerTxEntityInstanceCache

            i think it is on startup of each entity bean container

            Hope this helps you to help me :-]
            Im kindda worried about that :-[
            ty Again!

            • 3. Re: Warning Messages
              eprst

              I'm having the same problem with 4.0.3SP1

              • 4. Re: Warning Messages
                eprst

                I've runned JBoss under debugger and here's what my investigation shows: I'm calling instance per transaction BMP entity bean without a transaction context, by default it has a commit option C. Right after bean method invocation JBoss tries to passivate the instance, but fails because enterprise context is still locked, thus a perfectly valid(?) code generates lots of warnings.

                My code looks like this (schematically):

                MyInstancePerTransactionBean bean = home.findByPrimaryKey(...);
                bean.method1(); //here we get passivation failure warning
                bean.method2(); //and another one here
                


                Call trace:
                at org.jboss.ejb.plugins.PerTxEntityInstanceCache.canPassivate(PerTxEntityInstanceCache.java:181)
                at org.jboss.ejb.plugins.PerTxEntityInstanceCache.tryToPassivate(PerTxEntityInstanceCache.java:152)
                at org.jboss.ejb.plugins.PerTxEntityInstanceCache.release(PerTxEntityInstanceCache.java:94)
                at org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invoke(EntitySynchronizationInterceptor.java:364)
                at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:149)
                at org.jboss.ejb.plugins.EntityReentranceInterceptor.invoke(EntityReentranceInterceptor.java:111)
                at org.jboss.ejb.plugins.EntityInstanceInterceptor.invoke(EntityInstanceInterceptor.java:261)
                at org.jboss.ejb.plugins.EntityLockInterceptor.invoke(EntityLockInterceptor.java:89)
                at org.jboss.ejb.plugins.EntityCreationInterceptor.invoke(EntityCreationInterceptor.java:53)
                at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:48)
                at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:106)
                at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:363)
                at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:166)
                at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:153)
                at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)
                at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
                at org.jboss.ejb.EntityContainer.internalInvoke(EntityContainer.java:514)
                at org.jboss.ejb.Container.invoke(Container.java:873)
                at sun.reflect.GeneratedMethodAccessor104.invoke(Unknown Source)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                at java.lang.reflect.Method.invoke(Method.java:585)
                at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
                at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
                at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
                at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
                at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
                at org.jboss.invocation.local.LocalInvoker$MBeanServerAction.invoke(LocalInvoker.java:155)
                at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:104)
                at org.jboss.invocation.InvokerInterceptor.invokeLocal(InvokerInterceptor.java:179)
                at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:165)
                at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:46)
                at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:55)
                at org.jboss.proxy.ejb.EntityInterceptor.invoke(EntityInterceptor.java:97)
                at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:86)
                at $Proxy1264.getHierarchyName(Unknown Source)
                at com.supportwizard.swgroups.SWGroupsBean.ejbFindByName(SWGroupsBean.java:915)me(SWGroupsBean.java:915)
                

                (JBoss 4.0.3sp1)

                Here SWGroupsBean is an ordinary BMP bean, it's ejbFindByName method contains the code snippet shown above (method1 being getHierarchyName). As I said ctx is locked, so PerTxEntityInstanceCache.canPassivate returns false and we get a warning.

                Is it a bug or this warning is valid and I'm doing something wrong?