6 Replies Latest reply on Aug 23, 2015 12:55 AM by Sreenath Reddy

    Unable to invoke EJB from the same deployment

    Sreenath Reddy Novice

      I am migrating my application from AS 5.1.0GA to WildFly 8.2.0. In my application we are loadinig the initial data at application level using seam @Create

      The below is my application bean.

       

      package com.project.action;

      import static org.jboss.seam.ScopeType.APPLICATION;

      import java.util.Date;

      import java.util.List;

      import org.apache.log4j.Logger;

      import org.jboss.seam.annotations.Create;

      import org.jboss.seam.annotations.Destroy;

      import org.jboss.seam.annotations.Name;

      import org.jboss.seam.annotations.Scope;

      import org.jboss.seam.annotations.Startup;

      @Name("applicationScopeData")

      @Scope(APPLICATION)

      @Startup

      public class ApplicationScopeData {

        private static final Logger logger = Logger

        .getLogger(ApplicationScopeData.class);

       

        @Create

        public void loadInitialEntities() {

        ProjectAppData.loadInitialEntities();

        }

        @Destroy

        public void destroy() {

        }

      }

       

      In ProjectAppData the method loadInitialEntities() is defined as follows

       

        public static void loadInitialEntities() {

        List<UserDetail> resultList=null;

        logger.info("loadLanguageAllList");

        final InitialContext initialContext = new InitialContext();

        final AppDataProvider bean = (AppDataProvider) initialContext

        .lookup("java:app/project-ejb/AppDataProviderBean");

        resultList=bean.loadAllList();

       

        }

       

        My AppDataProvider is looks like below

       

      package com.project.session;

      @Local

      public interface AppDataProvider {

        public List<UserDetail> loadAllList();

       

      }

       

      The implementation bean is as follows.

       

      @Stateless

      @JndiName(value = "java:app/project-ejb/AppDataProviderBean")

      @Name("AppDataProviderBean")

      public class AppDataProviderBean implements AppDataProvider {

        public static Logger logger = Logger

        .getLogger(AppDataProviderBean.class);

       

        @PersistenceContext(unitName = "project")

        private EntityManager entityManager;

       

        @SuppressWarnings("unchecked")

        public List<UserDetail> loadAllList() {

        final String query = "select o from UserDetail o order by o.userName";

        final List<UserDetail> results = entityManager.createQuery(query)

        .getResultList();

        return results;

        }

      }

       

      While deploy my application the @Create annotated method is calling and while invoking the EJB using the initial context I am getting the Exception.

       

      final InitialContext initialContext = new InitialContext();

        final AppDataProvider bean = (AppDataProvider) initialContext

        .lookup("java:app/project-ejb/AppDataProvider");

        resultList=bean.loadAllList();

       

      It is not throwing any exception while calling lookup method, when calling loadAllList from the above block we are getting the below Exception(Verified using debug pointers).

       

      18:56:04,987 WARN  [org.jboss.seam.security.permission.PersistentPermissionResolver] (MSC service thread 1-1) no permission store available - please install a PermissionStore with the name 'org.jboss.seam.security.jpaPermissionStore' if persistent permissions are required.

      18:56:08,279 INFO  [com.project.action.ProjectAppData] (MSC service thread 1-1) loading application scope data from database

      18:56:19,529 INFO  [com.project.action.ProjectAppData] (MSC service thread 1-1) loadLanguages

      18:56:22,802 INFO  [com.project.action.ProjectAppData] (MSC service thread 1-1) loadLanguageAllList

      18:56:33,192 INFO  [org.jboss.ejb.client] (MSC service thread 1-1) JBoss EJB Client version 2.0.1.Final

      18:56:40,385 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC000001: Failed to start service jboss.undertow.deployment.default-server.default-host./project: org.jboss.msc.service.StartException in service jboss.undertow.deployment.default-server.default-host./project: Failed to start service

        at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1904) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_75]

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_75]

        at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_75]

      Caused by: java.lang.RuntimeException: org.jboss.seam.InstantiationException: Could not instantiate Seam component: applicationScopeData

        at io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:222)

        at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:87)

        at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.start(UndertowDeploymentService.java:72)

        at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]

        at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]

        ... 3 more

      Caused by: org.jboss.seam.InstantiationException: Could not instantiate Seam component: applicationScopeData

        at org.jboss.seam.Component.newInstance(Component.java:2208)

        at org.jboss.seam.contexts.Contexts.startup(Contexts.java:343)

        at org.jboss.seam.contexts.Contexts.startup(Contexts.java:317)

        at org.jboss.seam.contexts.ServletLifecycle.endInitialization(ServletLifecycle.java:143)

        at org.jboss.seam.init.Initialization.init(Initialization.java:813)

        at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:36)

        at com.project.session.ProjectSessionListener.contextInitialized(ProjectSessionListener.java:58)

        at io.undertow.servlet.core.ApplicationListeners.contextInitialized(ApplicationListeners.java:173)

        at io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:193)

        ... 7 more

      Caused by: java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:project-ear, moduleName:project-ejb, distinctName:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@25e53248

        at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:749)

        at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:116)

        at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)

        at org.jboss.ejb.client.EJBInvocationHandler.sendRequestWithPossibleRetries(EJBInvocationHandler.java:253)

        at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:198)

        at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:181)

        at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:144)

        at com.sun.proxy.$Proxy225.loadLanguageAllList(Unknown Source)

        at com.project.action.ProjectAppData.loadAllList(ProjectAppData.java:728)

        at com.project.action.ProjectAppData.loadInitialEntities(ProjectAppData.java:165)

        at com.project.action.ApplicationScopeData.loadInitialEntities(ApplicationScopeData.java:51)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_75]

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_75]

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_75]

        at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_75]

        at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)

        at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:32)

        at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)

        at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28)

        at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)

        at org.jboss.seam.bpm.BusinessProcessInterceptor.aroundInvoke(BusinessProcessInterceptor.java:51)

        at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)

        at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)

        at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)

        at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)

        at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:196)

        at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:114)

        at com.project.action.ApplicationScopeData$$_javassist_seam_1.loadInitialEntities(ApplicationScopeData$$_javassist_seam_1.java)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_75]

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_75]

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_75]

        at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_75]

        at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)

        at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:144)

        at org.jboss.seam.Component.callComponentMethod(Component.java:2313)

        at org.jboss.seam.Component.callCreateMethod(Component.java:2236)

        at org.jboss.seam.Component.newInstance(Component.java:2196)

        ... 15 more

       

       

      I tried the above using a small PoC and it was working fine in PoC, the only difference is in PoC I am invoking after starting the server and in the Project we are invoking the EJB while deploying.

      I am using hibernate 3.6.3.

      I tried maximum feasible ways, is there any extra configuration I am missing while migrating my application from Jboss 5.1.0 to WildFly 8.2.0.

       

      Here my question is if my EJB is not available then it should throw the exception when executing

      final AppDataProvider bean = (AppDataProvider) initialContext

        .lookup("java:app/project-ejb/AppDataProvider");

      It is not throwing the exception while executing the above line which means my EJB is available to lookup(I tried with wrong pattern and it was throwing the exception in that case).

      I am getting the exception while executing resultList=bean.loadAllList(), which means my EJB is not available to call the loadAllList().

       

      Please let me know if I am missing anything.

        • 1. Re: Unable to invoke EJB from the same deployment
          Wolf-Dieter Fink Master

          Not sure about Seam,

          but the successful lookup does not mean the Bean is there. In opposite to AS5 AS7+ lookup does not contact the target server. So it is maybe a dependency problem as the target Bean is not ready or registered.

          • 2. Re: Unable to invoke EJB from the same deployment
            Sreenath Reddy Novice

            What are the possible ways for bean is not ready or register though the lookup is successful. From the server log I observed the below lines

             

            java:global/project-ear/project-ejb/AppDataProviderBean!com.project.AppDataProvider

            java:app/project-ejb/AppDataProviderBean!com.project.AppDataProvider
            java:module/AppDataProviderBean!com.project.AppDataProvider
            java:jboss/exported/project-ear/project-ejb/AppDataProviderBean!com.project.AppDataProvider
            java:global/project-ear/project-ejb/AppDataProviderBean
            java:app/project-ejb/AppDataProviderBean
            java:module/AppDataProviderBean

             

            From the above log I assumed that the bean is registered in the server as well. I am not able to identify why I am the Exception.

            • 3. Re: Unable to invoke EJB from the same deployment
              Wolf-Dieter Fink Master

              The output of the JNDI registration seems correct.

               

              I suppose there is an issue with the InitialContex, classloading ....

              What if you use ejb:project-ear/project-ejb/AppDataProviderBean!com.project.AppDataProvider

              for the lookup?

              Is the caller in the same EAR but in a different jar?

              • 4. Re: Unable to invoke EJB from the same deployment
                Sreenath Reddy Novice

                I tried with ejb:project-ear/project-ejb/AppDataProviderBean!com.project.AppDataProvider, I am getting the same Exception.

                The caller is in same EAR and same jar as well.

                • 5. Re: Unable to invoke EJB from the same deployment
                  Wolf-Dieter Fink Master

                  You might enable org.jboss.ejb.client  logging TRACE, maybe you see the cause.

                  I suppose that the SEAM context maybe use a different ClassLoader which prevent the ejb-client from working.

                  With the TRACE you should be able to see the identity of the EJBClientContext

                  • 6. Re: Unable to invoke EJB from the same deployment
                    Sreenath Reddy Novice

                    Identified that I did a mistake here, for my bean interface it is @Local, but for some other reason I made it as remote and now change to local

                     

                    package com.project.session;

                    @Local

                    public interface AppDataProvider {

                      public List<UserDetail> loadAllList();

                    }

                     

                    After changing tho Local I am not getting any exception and no operation is calling.

                    For the same logic

                    final InitialContext initialContext = new InitialContext();

                      final AppDataProvider bean = (AppDataProvider) initialContext

                      .lookup("java:app/project-ejb/AppDataProvider");

                      resultList=bean.loadAllList();

                     

                    when the line bean.loadAllList(); is executing no operation is going on and it is showing the below warning

                     

                    10:09:25,258 WARN  [com.arjuna.ats.arjuna] (Transaction Reaper) ARJUNA012117: TransactionReaper::check timeout for TX 0:ffffac183738:-5cdf991e:55d94d8b:8 in state  RUN

                    10:09:25,264 WARN  [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012095: Abort of action id 0:ffffac183738:-5cdf991e:55d94d8b:8 invoked while multiple threads active within it.

                    10:09:25,265 WARN  [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012108: CheckedAction::check - atomic action 0:ffffac183738:-5cdf991e:55d94d8b:8 aborting with 1 threads active!

                    10:09:25,266 WARN  [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012121: TransactionReaper::doCancellations worker Thread[Transaction Reaper Worker 0,5,main] successfully canceled TX 0:ffffac183738:-5cdf991e:55d94d8b:8

                     

                    I am a very simple data base query which can execute less than 5 sec, I have given 2 min as time out in my bean, so it is waiting for two min and throwing the above warnings and no operation is going on. I tried to increase the time out, in this case also the system is waiting till time out and finally throwing the above warnings.

                     

                    The below are the trace log for the same.

                     

                    2015-08-23 10:07:25,137 TRACE [com.arjuna.ats.jta] (MSC service thread 1-3) BaseTransaction.begin

                    2015-08-23 10:07:25,137 TRACE [com.arjuna.ats.arjuna] (MSC service thread 1-3) StateManager::StateManager( 2, 0 )

                    2015-08-23 10:07:25,137 TRACE [com.arjuna.ats.arjuna] (MSC service thread 1-3) BasicAction::BasicAction()

                    2015-08-23 10:07:25,137 TRACE [com.arjuna.ats.arjuna] (MSC service thread 1-3) BasicAction::Begin() for action-id 0:ffffac183738:-5cdf991e:55d94d8b:8

                    2015-08-23 10:07:25,138 TRACE [com.arjuna.ats.arjuna] (MSC service thread 1-3) BasicAction::actionInitialise() for action-id 0:ffffac183738:-5cdf991e:55d94d8b:8

                    2015-08-23 10:07:25,245 TRACE [com.arjuna.ats.arjuna] (MSC service thread 1-3) ActionHierarchy::ActionHierarchy(1)

                    2015-08-23 10:07:25,246 TRACE [com.arjuna.ats.arjuna] (MSC service thread 1-3) ActionHierarchy::add(0:ffffac183738:-5cdf991e:55d94d8b:8, 1)

                    2015-08-23 10:07:25,255 TRACE [com.arjuna.ats.arjuna] (MSC service thread 1-3) BasicAction::addChildThread () action 0:ffffac183738:-5cdf991e:55d94d8b:8 adding Thread[MSC service thread 1-3,5,main]

                    2015-08-23 10:07:25,256 TRACE [com.arjuna.ats.arjuna] (MSC service thread 1-3) BasicAction::addChildThread () action 0:ffffac183738:-5cdf991e:55d94d8b:8 adding Thread[MSC service thread 1-3,5,main] result = true

                    2015-08-23 10:07:25,257 TRACE [com.arjuna.ats.arjuna] (MSC service thread 1-3) TransactionReaper::insert ( BasicAction: 0:ffffac183738:-5cdf991e:55d94d8b:8 status: ActionStatus.RUNNING, 120 )

                    2015-08-23 10:07:25,257 TRACE [com.arjuna.ats.arjuna] (MSC service thread 1-3) ReaperElement::ReaperElement ( BasicAction: 0:ffffac183738:-5cdf991e:55d94d8b:8 status: ActionStatus.RUNNING, 120 )

                    2015-08-23 10:07:25,260 TRACE [com.arjuna.ats.arjuna] (Transaction Reaper) ReaperThread.run ()

                    2015-08-23 10:07:25,260 TRACE [com.arjuna.ats.arjuna] (Transaction Reaper) TransactionReaper::check ()

                    2015-08-23 10:07:25,260 TRACE [com.arjuna.ats.arjuna] (Transaction Reaper) TransactionReaper::check - comparing 1440304765257

                    2015-08-23 10:07:25,260 TRACE [com.arjuna.ats.arjuna] (Transaction Reaper) Thread Thread[Transaction Reaper,5,main] sleeping for 119997

                    2015-08-23 10:07:34,335 DEBUG [com.arjuna.ats.arjuna] (Periodic Recovery) PeriodicRecovery: background thread Status <== SCANNING

                    2015-08-23 10:07:34,335 DEBUG [com.arjuna.ats.arjuna] (Periodic Recovery) PeriodicRecovery: background thread scanning

                    2015-08-23 10:07:34,335 DEBUG [com.arjuna.ats.arjuna] (Periodic Recovery) Periodic recovery first pass at Sun, 23 Aug 2015 10:07:34

                    2015-08-23 10:07:34,335 TRACE [com.arjuna.ats.arjuna] (Periodic Recovery) InputObjectState::InputObjectState()

                    2015-08-23 10:07:34,335 DEBUG [com.arjuna.ats.arjuna] (Periodic Recovery) AtomicActionRecoveryModule first pass

                    2015-08-23 10:07:34,335 TRACE [com.arjuna.ats.arjuna] (Periodic Recovery) FileSystemStore.allObjUids(/StateManager/BasicAction/TwoPhaseCoordinator/AtomicAction, InputObjectState Uid   : 0:0:0:0:0

                    InputObjectState Type  : null

                    InputObjectState Size  : 0

                    InputObjectState Buffer: , -1)

                    2015-08-23 10:07:34,335 TRACE [com.arjuna.ats.arjuna] (Periodic Recovery) OutputObjectState::OutputObjectState()

                    2015-08-23 10:07:34,335 DEBUG [com.arjuna.ats.arjuna] (Periodic Recovery) processing /StateManager/BasicAction/TwoPhaseCoordinator/AtomicAction transactions

                    2015-08-23 10:07:34,335 DEBUG [com.arjuna.ats.arjuna] (Periodic Recovery) 

                    2015-08-23 10:07:34,335 DEBUG [com.arjuna.ats.txoj] (Periodic Recovery) TORecoveryModule - first pass

                    2015-08-23 10:07:34,335 TRACE [com.arjuna.ats.arjuna] (Periodic Recovery) InputObjectState::InputObjectState()

                    2015-08-23 10:07:34,335 TRACE [com.arjuna.ats.arjuna] (Periodic Recovery) FileSystemStore.allTypes(InputObjectState Uid   : 0:0:0:0:0

                    InputObjectState Type  : null

                    InputObjectState Size  : 0

                    InputObjectState Buffer: )

                    2015-08-23 10:07:34,336 TRACE [com.arjuna.ats.arjuna] (Periodic Recovery) OutputObjectState::OutputObjectState()

                    2015-08-23 10:07:34,336 DEBUG [com.arjuna.ats.arjuna] (Periodic Recovery) 

                    2015-08-23 10:07:34,336 DEBUG [com.arjuna.ats.jta] (Periodic Recovery) Local XARecoveryModule - first pass

                    2015-08-23 10:07:34,336 TRACE [com.arjuna.ats.arjuna] (Periodic Recovery) InputObjectState::InputObjectState()

                    2015-08-23 10:07:34,336 TRACE [com.arjuna.ats.arjuna] (Periodic Recovery) FileSystemStore.allObjUids(/StateManager/AbstractRecord/XAResourceRecord, InputObjectState Uid   : 0:0:0:0:0

                    InputObjectState Type  : null

                    InputObjectState Size  : 0

                    InputObjectState Buffer: , -1)

                    2015-08-23 10:07:34,336 TRACE [com.arjuna.ats.arjuna] (Periodic Recovery) OutputObjectState::OutputObjectState()

                    2015-08-23 10:07:34,336 DEBUG [com.arjuna.ats.jta] (Periodic Recovery) xarecovery of RecoveryOnlyEJBXAResource{receiverContext=EJBReceiverContext{clientContext=org.jboss.ejb.client.EJBClientContext@570fb8e4, receiver=org.jboss.as.ejb3.remote.LocalEjbReceiver@78b264c2}, transactionOriginNodeIdentifier='1'}

                    2015-08-23 10:07:34,336 DEBUG [org.jboss.ejb.client.txn] (Periodic Recovery) Send recover request for transaction origin node identifier 1 to EJB receiver with node name sreenathac-win7

                    2015-08-23 10:07:34,336 DEBUG [com.arjuna.ats.jta] (Periodic Recovery) Found 0 xids in doubt

                    2015-08-23 10:07:34,337 DEBUG [com.arjuna.ats.arjuna] (Periodic Recovery) 

                    2015-08-23 10:07:44,335 DEBUG [com.arjuna.ats.arjuna] (Periodic Recovery) Periodic recovery second pass at Sun, 23 Aug 2015 10:07:44

                    2015-08-23 10:07:44,335 DEBUG [com.arjuna.ats.arjuna] (Periodic Recovery) AtomicActionRecoveryModule second pass

                    2015-08-23 10:07:44,335 DEBUG [com.arjuna.ats.arjuna] (Periodic Recovery) 

                    2015-08-23 10:07:44,335 DEBUG [com.arjuna.ats.txoj] (Periodic Recovery) TORecoveryModule - second pass

                    2015-08-23 10:07:44,335 DEBUG [com.arjuna.ats.arjuna] (Periodic Recovery) 

                    2015-08-23 10:07:44,335 DEBUG [com.arjuna.ats.jta] (Periodic Recovery) Local XARecoveryModule - second pass

                    2015-08-23 10:07:44,335 DEBUG [com.arjuna.ats.jta] (Periodic Recovery) Local XARecoveryModule.transactionInitiatedRecovery completed

                    2015-08-23 10:07:44,335 DEBUG [com.arjuna.ats.jta] (Periodic Recovery) xarecovery second pass of RecoveryOnlyEJBXAResource{receiverContext=EJBReceiverContext{clientContext=org.jboss.ejb.client.EJBClientContext@570fb8e4, receiver=org.jboss.as.ejb3.remote.LocalEjbReceiver@78b264c2}, transactionOriginNodeIdentifier='1'}

                    2015-08-23 10:07:44,335 DEBUG [com.arjuna.ats.jta] (Periodic Recovery) Have 0 Xids to recover on this pass.

                    2015-08-23 10:07:44,335 DEBUG [org.jboss.ejb.client.txn] (Periodic Recovery) Send recover request for transaction origin node identifier 1 to EJB receiver with node name sreenathac-win7

                    2015-08-23 10:07:44,335 DEBUG [com.arjuna.ats.jta] (Periodic Recovery) Local XARecoveryModule.resourceInitiatedRecovery completed

                    2015-08-23 10:07:44,335 DEBUG [com.arjuna.ats.arjuna] (Periodic Recovery) 

                    2015-08-23 10:07:44,335 DEBUG [com.arjuna.ats.arjuna] (Periodic Recovery) PeriodicRecovery: background thread Status <== INACTIVE

                    2015-08-23 10:07:44,335 DEBUG [com.arjuna.ats.arjuna] (Periodic Recovery) PeriodicRecovery: background thread backing off

                     

                     

                    I am not understanding why it is not performing any operation and not throwing any exception.