10 Replies Latest reply on Jul 11, 2012 4:31 AM by Carsten Maneg

    NoSuchEntityException - Transaction problem? (Migration 4.0.5.GA to 7.1.2.Final)

    Carsten Maneg Newbie

      Hallo again,

       

      maybe just a simple thing, but after hours and hours, I can't find the reason.

      Well, in JBoss 4.0.5 it works fine of course. EJB 2.1 of course.

      But now there is a NoSuchEntityException (JBAS010748) and/or NoSuchObjectLocalException.

      Code looks like:

      OBTokenLocal obtLocal = obtLocalHome.create(...);

      OBTokenData data = obtLocal.getData(); //  --> Exception

       

      In ejb-jar.xml the container transaction looks like

         <container-transaction >

            <method >

               <ejb-name>OBToken</ejb-name>

                <method-name>*</method-name>

             </method>

             <trans-attribute>RequiresNew</trans-attribute>

          </container-transaction>

       

      And the ejb-ref

      <ejb-local-ref >

         <ejb-ref-name>ejb/OBToken</ejb-ref-name>

         <ejb-ref-type>Entity</ejb-ref-type>

         <local-home>com.direkt1822.joba.cmp.interfaces.OBTokenLocalHome</local-home>

         <local>com.direkt1822.joba.cmp.interfaces.OBTokenLocal</local>

         <ejb-link>OBToken</ejb-link>

      </ejb-local-ref>

       

       

      EJB stuff (interfaces and so on) generated by xdoclet.

        • 1. Re: NoSuchEntityException - Transaction problem? (Migration 4.0.5.GA to 7.1.2.Final)
          Carsten Maneg Newbie

          Strange....discussion editor hang up...

           

          Back to topic:

          Do you need more information?

          • 3. Re: NoSuchEntityException - Transaction problem? (Migration 4.0.5.GA to 7.1.2.Final)
            Carsten Maneg Newbie

            Well, changed logging to debug level. Stacktrace is very long. I hope this part gives you an idea

             

            16:33:39,839 DEBUG [org.jboss.jca.core.connectionmanager.pool.strategy.OnePool] (http-localhost/127.0.0.1:8080-2) MdtdbDS: returnConnection(1bdaff2, false) [8/18]

            16:33:39,932 DEBUG [org.jboss.as.cmp.jdbc.JDBCCreateEntityCommand.OBToken] (http-localhost/127.0.0.1:8080-2) Executing SQL: SELECT COUNT(*) FROM OBTOKEN WHERE token=?

            16:33:39,932 DEBUG [org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.OBToken#token] (http-localhost/127.0.0.1:8080-2) param: i=1, type=VARCHAR, value=1341498819932-NBMANEG1XP-1

            16:33:40,010 DEBUG [org.jboss.as.cmp.jdbc.JDBCCreateEntityCommand.OBToken] (http-localhost/127.0.0.1:8080-2) Executing SQL: INSERT INTO OBTOKEN (token, stammNr, personNr, login, userid, sessionStart, sessionTimeout, sessionEnd, system, sessionIdTomcat) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)

            16:33:40,010 DEBUG [org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.OBToken#token] (http-localhost/127.0.0.1:8080-2) param: i=1, type=VARCHAR, value=1341498819932-NBMANEG1XP-1

            16:33:40,056 DEBUG [org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.OBToken#stammNr] (http-localhost/127.0.0.1:8080-2) param: i=2, type=BIGINT, value=1111111

            16:33:40,056 DEBUG [org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.OBToken#personNr] (http-localhost/127.0.0.1:8080-2) param: i=3, type=BIGINT, value=1111111

            16:33:40,056 DEBUG [org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.OBToken#login] (http-localhost/127.0.0.1:8080-2) param: i=4, type=VARCHAR, value=1111111A

            16:33:40,056 DEBUG [org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.OBToken#userid] (http-localhost/127.0.0.1:8080-2) param: i=5, type=VARCHAR, value=1111111A

            16:33:40,056 DEBUG [org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.OBToken#sessionStart] (http-localhost/127.0.0.1:8080-2) param: i=6, type=TIMESTAMP, value=2012-07-05 16:33:39.932

            16:33:40,056 DEBUG [org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.OBToken#sessionTimeout] (http-localhost/127.0.0.1:8080-2) param: i=7, type=TIMESTAMP, value=2012-07-05 18:13:39.932

            16:33:40,056 DEBUG [org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.OBToken#sessionEnd] (http-localhost/127.0.0.1:8080-2) param: i=8, type=TIMESTAMP, value=NULL

            16:33:40,056 DEBUG [org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.OBToken#system] (http-localhost/127.0.0.1:8080-2) param: i=9, type=VARCHAR, value=html

            16:33:40,056 DEBUG [org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.OBToken#sessionIdTomcat] (http-localhost/127.0.0.1:8080-2) param: i=10, type=VARCHAR, value=G3yx7KrefZiTlTmw8Pa5CtBu

            16:33:48,531 DEBUG [org.jboss.as.cmp.jdbc.JDBCLoadEntityCommand.OBToken] (http-localhost/127.0.0.1:8080-2) Executing SQL: SELECT stammNr, personNr, login, userid, sessionStart, sessionTimeout, sessionEnd, system, sessionIdTomcat FROM OBTOKEN WHERE (token=?)

            16:33:48,531 DEBUG [org.jboss.jca.core.connectionmanager.pool.strategy.OnePool] (http-localhost/127.0.0.1:8080-2) MdtdbDS: getConnection(null, WrappedConnectionRequestInfo@de38[userName=dtinst]) [8/19]

            16:33:48,546 DEBUG [org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.OBToken#token] (http-localhost/127.0.0.1:8080-2) param: i=1, type=VARCHAR, value=1341498819932-NBMANEG1XP-1

            16:33:48,780 DEBUG [org.jboss.jca.core.connectionmanager.pool.strategy.OnePool] (http-localhost/127.0.0.1:8080-2) MdtdbDS: returnConnection(1bdaff2, false) [8/18]

            16:33:48,780 ERROR [org.jboss.as.ejb3.invocation] (http-localhost/127.0.0.1:8080-2) JBAS014134: EJB Invocation failed on component OBToken for method public abstract com.customer.myapp.cmp.interfaces.OBTokenData com.direkt1822.joba.cmp.interfaces.OBTokenLocal.getData(): javax.ejb.NoSuchEntityException: JBAS010748: Entity nicht gefunden: primaryKey=1341498819932-NBMANEG1XP-1

                at org.jboss.as.cmp.jdbc.JDBCLoadEntityCommand.execute(JDBCLoadEntityCommand.java:216) [jboss-as-cmp-7.1.2.Final-redhat-1.jar:7.1.2.Final-redhat-1]

                at org.jboss.as.cmp.jdbc.JDBCLoadEntityCommand.execute(JDBCLoadEntityCommand.java:84) [jboss-as-cmp-7.1.2.Final-redhat-1.jar:7.1.2.Final-redhat-1]

                at org.jboss.as.cmp.jdbc.JDBCStoreManager.loadEntity(JDBCStoreManager.java:453) [jboss-as-cmp-7.1.2.Final-redhat-1.jar:7.1.2.Final-redhat-1]

                at org.jboss.as.cmp.jdbc.JDBCStoreManager.loadEntity(JDBCStoreManager.java:438) [jboss-as-cmp-7.1.2.Final-redhat-1.jar:7.1.2.Final-redhat-1]

                at org.jboss.as.cmp.component.interceptors.CmpEntityBeanSynchronizationInterceptor.processInvocation(CmpEntityBeanSynchronizationInterceptor.java:53) [jboss-as-cmp-7.1.2.Final-redhat-1.jar:7.1.2.Final-redhat-1]

                at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-1.jar:1.1.1.Final-redhat-1]

                at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21) [jboss-invocation-1.1.1.Final-redhat-1.jar:1.1.1.Final-redhat-1]

                at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-1.jar:1.1.1.Final-redhat-1]

                at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.1.Final-redhat-1.jar:1.1.1.Final-redhat-1]

                at org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:53) [jboss-as-ee-7.1.2.Final-redhat-1.jar:7.1.2.Final-redhat-1]

                at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-1.jar:1.1.1.Final-redhat-1]

                at org.jboss.as.ejb3.component.entity.interceptors.EntityBeanAssociatingInterceptor.processInvocation(EntityBeanAssociatingInterceptor.java:79) [jboss-as-ejb3-7.1.2.Final-redhat-1.jar:7.1.2.Final-redhat-1]

                at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-1.jar:1.1.1.Final-redhat-1]

                at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:227) [jboss-as-ejb3-7.1.2.Final-redhat-1.jar:7.1.2.Final-redhat-1]

                at org.jboss.as.ejb3.tx.CMTTxInterceptor.requiresNew(CMTTxInterceptor.java:327) [jboss-as-ejb3-7.1.2.Final-redhat-1.jar:7.1.2.Final-redhat-1]

                at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:191) [jboss-as-ejb3-7.1.2.Final-redhat-1.jar:7.1.2.Final-redhat-1]

                at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-1.jar:1.1.1.Final-redhat-1]

                at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41) [jboss-as-ejb3-7.1.2.Final-redhat-1.jar:7.1.2.Final-redhat-1]

                at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-1.jar:1.1.1.Final-redhat-1]

                at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:42) [jboss-as-ejb3-7.1.2.Final-redhat-1.jar:7.1.2.Final-redhat-1]

                at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-1.jar:1.1.1.Final-redhat-1]

                at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59) [jboss-as-ejb3-7.1.2.Final-redhat-1.jar:7.1.2.Final-redhat-1]

                at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-1.jar:1.1.1.Final-redhat-1]

                at org.jboss.as.ejb3.component.interceptors.EjbExceptionTransformingInterceptorFactories$2.processInvocation(EjbExceptionTransformingInterceptorFactories.java:89) [jboss-as-ejb3-7.1.2.Final-redhat-1.jar:7.1.2.Final-redhat-1]

                at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-1.jar:1.1.1.Final-redhat-1]

                at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50) [jboss-as-ee-7.1.2.Final-redhat-1.jar:7.1.2.Final-redhat-1]

                at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-1.jar:1.1.1.Final-redhat-1]

                at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:32) [jboss-as-ejb3-7.1.2.Final-redhat-1.jar:7.1.2.Final-redhat-1]

                at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-1.jar:1.1.1.Final-redhat-1]

                at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45) [jboss-as-ee-7.1.2.Final-redhat-1.jar:7.1.2.Final-redhat-1]

                at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-1.jar:1.1.1.Final-redhat-1]

                at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.1.Final-redhat-1.jar:1.1.1.Final-redhat-1]

                at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:165) [jboss-as-ee-7.1.2.Final-redhat-1.jar:7.1.2.Final-redhat-1]

                at org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:176) [jboss-as-ee-7.1.2.Final-redhat-1.jar:7.1.2.Final-redhat-1]

                at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-1.jar:1.1.1.Final-redhat-1]

                at org.jboss.as.ejb3.component.entity.interceptors.EntityBeanPrimaryKeyInterceptor.processInvocation(EntityBeanPrimaryKeyInterceptor.java:52) [jboss-as-ejb3-7.1.2.Final-redhat-1.jar:7.1.2.Final-redhat-1]

                at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-1.jar:1.1.1.Final-redhat-1]

                at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.1.Final-redhat-1.jar:1.1.1.Final-redhat-1]

                at org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:72) [jboss-as-ee-7.1.2.Final-redhat-1.jar:7.1.2.Final-redhat-1]

                at com.customer.myapp.cmp.interfaces.OBTokenLocal$$$view366.getData(Unknown Source) [joba-ejb-4.3.0-SNAPSHOT.jar:]

                at com.customer.myapp.authob.util.SessionUtil.newSession(SessionUtil.java:59) [joba-ejb-4.3.0-SNAPSHOT.jar:]

            • 4. Re: NoSuchEntityException - Transaction problem? (Migration 4.0.5.GA to 7.1.2.Final)
              Carsten Maneg Newbie

              Just by the way, this sounds similiar

              https://community.jboss.org/message/728546#728546 "EJB 2.1 BMP with CMT and RequiresNew in JBoss AS 7.1.0 Final"

               

              I tried his solution but it doesn't change/fix my problem.

              • 5. Re: NoSuchEntityException - Transaction problem? (Migration 4.0.5.GA to 7.1.2.Final)
                Carsten Maneg Newbie

                Additional info, don't know if important or not. In jboss.xml (which is ignored) we had

                 

                <container-configurations>

                  <container-configuration extends="Clustered CMP 2.x EntityBean">

                    <container-name>Clustered CMP 2.x EntityBean (shared)</container-name>

                    <commit-option>C</commit-option>

                  </container-configuration>

                </container-configurations>

                 

                How to migrate this or not necessary for JBoss 7?

                • 6. Re: NoSuchEntityException - Transaction problem? (Migration 4.0.5.GA to 7.1.2.Final)
                  Carsten Maneg Newbie

                  Hello jaikiran and all the others,

                   

                  any idea?

                  This is a migration show stopper.

                   

                  Maybe someone can post an example of how to configure Entity Beans (EJB 2.1) for JBoss 7.1

                  or tell me a link where I can find these infos.

                  Points I am thinking about?

                  - any additional configuration required in standalone-full.xml for transaction handling?

                  - what about jboss.xml? Just rename to jboss-ejb3.xml?

                  - how does <ejb-local-ref> (ejb-jar.xml) should look like?

                  - ...

                   

                  Thanks a lot for any hint.

                   

                  Carsten

                  • 7. Re: NoSuchEntityException - Transaction problem? (Migration 4.0.5.GA to 7.1.2.Final)
                    jaikiran pai Master

                    Would you be able to attach a sample application which reproduces this issue and explain a bit on how to run that application?

                    • 8. Re: NoSuchEntityException - Transaction problem? (Migration 4.0.5.GA to 7.1.2.Final)
                      Carsten Maneg Newbie

                      Hello Jaikiran,

                       

                      thats quite difficult, due to size of application and security reasons (customer data).

                      But maybe not necessary as I found out its a problem of container configuration in ejb-jar.xml.

                      In my initial post to this discussion:

                       

                      In ejb-jar.xml the container transaction looks like

                         <container-transaction >

                            <method >

                               <ejb-name>OBToken</ejb-name>

                                <method-name>*</method-name>

                             </method>

                             <trans-attribute>RequiresNew</trans-attribute>

                          </container-transaction>

                       

                      This is generated by xdoclet with the class level tag @ejb.transaction type="RequiresNew".

                      But obviously JBoss 7 don't like the <method-name>*</method-name> or prefers to get method level transaction configuration like this

                         <container-transaction >

                            <method >

                               <ejb-name>OBToken</ejb-name>

                               <method-intf>LocalHome</method-intf>

                               <method-name>create</method-name>

                               <method-params>

                                  <method-param>java.lang.Long</method-param>

                                  <method-param>java.lang.Long</method-param>

                                  <method-param>java.lang.String</method-param>

                                  <method-param>java.lang.String</method-param>

                                  <method-param>java.lang.String</method-param>

                                  <method-param>java.lang.String</method-param>

                               </method-params>

                            </method>

                            <trans-attribute>RequiresNew</trans-attribute>

                         </container-transaction>

                       

                      Generated with xdoclet method level tag @ejb.transaction type="RequiresNew".

                      Using this transaction configuration problem is solved.

                       

                      So, is this an issue?

                      At least a workaround is found and afterwards the same as

                      "EJB 2.1 BMP with CMT and RequiresNew in JBoss AS 7.1.0 Final" https://community.jboss.org/message/728546#728546

                      (maybe I put something wrong when tried this the first time).

                       

                      Cheers

                      Carsten

                      • 9. Re: NoSuchEntityException - Transaction problem? (Migration 4.0.5.GA to 7.1.2.Final)
                        jaikiran pai Master

                        That workaround shouldn't be necessary. If this is still reproducible against latest upstream then please file a JIRA under EJB component.

                        • 10. Re: NoSuchEntityException - Transaction problem? (Migration 4.0.5.GA to 7.1.2.Final)
                          Carsten Maneg Newbie

                          Hello Jaikiran,

                           

                          its still reproducable. Will file a JIRA issue.

                           

                          10:27:46,399 ERROR [org.jboss.as.ejb3.invocation] (http-localhost/127.0.0.1:8080-1) JBAS014134: EJB Invocation failed on component OBToken for method public abstract java.lang.String com.customer.myapp.cmp.interfaces.OBTokenLocal.getToken(): javax.ejb.NoSuchEntityException: JBAS010748: Entity nicht gefunden: primaryKey=1341995266055-NBMANEG1XP-1

                              at org.jboss.as.cmp.jdbc.JDBCLoadEntityCommand.execute(JDBCLoadEntityCommand.java:216) [jboss-as-cmp-7.2.0.Alpha1-SNAPSHOT.jar:7.2.0.Alpha1-SNAPSHOT]

                              at org.jboss.as.cmp.jdbc.JDBCLoadEntityCommand.execute(JDBCLoadEntityCommand.java:84) [jboss-as-cmp-7.2.0.Alpha1-SNAPSHOT.jar:7.2.0.Alpha1-SNAPSHOT]

                              at org.jboss.as.cmp.jdbc.JDBCStoreManager.loadEntity(JDBCStoreManager.java:453) [jboss-as-cmp-7.2.0.Alpha1-SNAPSHOT.jar:7.2.0.Alpha1-SNAPSHOT]

                              at org.jboss.as.cmp.jdbc.JDBCStoreManager.loadEntity(JDBCStoreManager.java:438) [jboss-as-cmp-7.2.0.Alpha1-SNAPSHOT.jar:7.2.0.Alpha1-SNAPSHOT]

                              at org.jboss.as.cmp.component.CmpEntityBeanComponentInstance.reload(CmpEntityBeanComponentInstance.java:107) [jboss-as-cmp-7.2.0.Alpha1-SNAPSHOT.jar:7.2.0.Alpha1-SNAPSHOT]

                              at org.jboss.as.cmp.component.interceptors.CmpEntityBeanSynchronizationInterceptor.processInvocation(CmpEntityBeanSynchronizationInterceptor.java:56) [jboss-as-cmp-7.2.0.Alpha1-SNAPSHOT.jar:7.2.0.Alpha1-SNAPSHOT]