AnsweredAssumed Answered

ProcessEngineLookup issue on WAS 8.5

Question asked by lonjan on Jun 10, 2013
Latest reply on Jun 12, 2013 by frederikheremans1
Hi,
I'm facing issue on deployment of my application (Spring 3.2.2+ Maven + Activiti 5.12). I'm creating war via mvn package, and install into my WAS. The application server failed to start. Error logs as below;
<blockcode>
[6/9/13 23:46:16:506 MYT] 00000070 AdminHelper   A   ADMN1009I: An attempt is made to start the project-0_1_0_BUILD-SNAPSHOT_war application.
[6/9/13 23:46:16:517 MYT] 00000070 CompositionUn A   WSVR0190I: Starting composition unit WebSphere:cuname=project-0_1_0_BUILD-SNAPSHOT_war in BLA WebSphere:blaname=project-0_1_0_BUILD-SNAPSHOT_war.
[6/9/13 23:46:16:731 MYT] 00000070 ApplicationMg A   WSVR0200I: Starting application: project-0_1_0_BUILD-SNAPSHOT_war
[6/9/13 23:46:16:731 MYT] 00000070 ApplicationMg A   WSVR0204I: Application: project-0_1_0_BUILD-SNAPSHOT_war  Application build level: Unknown
[6/9/13 23:46:36:622 MYT] 00000070 PluginLoader  I PluginLoader startUp Adding OpenWebBeansPlugin : [OpenWebBeansJsfPlugin]
[6/9/13 23:46:36:623 MYT] 00000070 PluginLoader  I PluginLoader startUp Adding OpenWebBeansPlugin : [WSWebPlugin]
[6/9/13 23:46:36:625 MYT] 00000070 PluginLoader  I PluginLoader startUp Adding OpenWebBeansPlugin : [WSEjbPlugin]
[6/9/13 23:46:36:626 MYT] 00000070 PluginLoader  I PluginLoader startUp Adding OpenWebBeansPlugin : [ContextsServicePlugin]
[6/9/13 23:46:36:627 MYT] 00000070 PluginLoader  I PluginLoader startUp Adding OpenWebBeansPlugin : [OpenWebBeansEjbLCAPluginImpl]
[6/9/13 23:46:36:721 MYT] 00000070 AbstractInjec W   CWNEN0040W: The org.activiti.cdi.impl.context.DefaultContextAssociationManager$ScopedAssociation.runtimeService field or method was configured to be injected multiple times.
[6/9/13 23:46:36:721 MYT] 00000070 AbstractInjec W   CWNEN0040W: The org.activiti.cdi.impl.context.DefaultContextAssociationManager$ScopedAssociation.runtimeService field or method was configured to be injected multiple times.
[6/9/13 23:46:36:722 MYT] 00000070 AbstractInjec W   CWNEN0040W: The org.activiti.cdi.impl.context.DefaultContextAssociationManager$ScopedAssociation.runtimeService field or method was configured to be injected multiple times.
[6/9/13 23:46:36:722 MYT] 00000070 AbstractInjec W   CWNEN0040W: The org.activiti.cdi.impl.context.DefaultContextAssociationManager$ScopedAssociation.runtimeService field or method was configured to be injected multiple times.
[6/9/13 23:46:36:723 MYT] 00000070 AbstractInjec W   CWNEN0040W: The org.activiti.cdi.impl.context.DefaultContextAssociationManager$ScopedAssociation.runtimeService field or method was configured to be injected multiple times.
[6/9/13 23:46:36:723 MYT] 00000070 AbstractInjec W   CWNEN0040W: The org.activiti.cdi.impl.context.DefaultContextAssociationManager$ScopedAssociation.runtimeService field or method was configured to be injected multiple times.
[6/9/13 23:46:36:724 MYT] 00000070 webapp        I com.ibm.ws.webcontainer.webapp.WebGroupImpl WebGroup SRVE0169I: Loading Web Module: project.
[6/9/13 23:46:36:737 MYT] 00000070 WASSessionCor I SessionContextRegistry getSessionContext SESN0176I: Will create a new session context for application key default_host/project
[6/9/13 23:47:10:199 MYT] 00000070 WebContainerL I WebContainerLifecycle startApplication OpenWebBeans Container is starting…
[6/9/13 23:47:10:326 MYT] 00000070 BeansDeployer I BeansDeployer validateInjectionPoints All injection points were validated successfully.
[6/9/13 23:47:10:344 MYT] 00000070 ErrorStack    E ErrorStack logErrors
                                 org.activiti.engine.ActivitiException: Could not find an implementation of the org.activiti.cdi.spi.ProcessEngineLookup service returning a non-null processEngine. Giving up.
   at org.activiti.cdi.impl.ActivitiExtension.lookupProcessEngine(ActivitiExtension.java:106)
   at org.activiti.cdi.impl.ActivitiExtension.afterDeploymentValidation(ActivitiExtension.java:68)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:76)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:602)
   at org.apache.webbeans.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:285)
   at org.apache.webbeans.event.NotificationManager.fireEvent(NotificationManager.java:455)
   at org.apache.webbeans.container.BeanManagerImpl.fireEvent(BeanManagerImpl.java:415)
   at org.apache.webbeans.config.BeansDeployer.fireAfterDeploymentValidationEvent(BeansDeployer.java:280)
   at org.apache.webbeans.config.BeansDeployer.deploy(BeansDeployer.java:186)
   at org.apache.webbeans.lifecycle.AbstractLifeCycle.startApplication(AbstractLifeCycle.java:124)
   at org.apache.webbeans.web.lifecycle.WebContainerLifecycle.startApplication(WebContainerLifecycle.java:78)
   at com.ibm.ws.webbeans.common.CommonLifeCycle.startApplication(CommonLifeCycle.java:106)
   at com.ibm.ws.webbeans.services.JCDIServletContainerInitializer.onStartup(JCDIServletContainerInitializer.java:85)
   at com.ibm.ws.webcontainer.webapp.WebAppImpl.initializeServletContainerInitializers(WebAppImpl.java:613)
   at com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java:409)
   at com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(WebGroupImpl.java:88)
   at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:169)
   at com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:749)
   at com.ibm.ws.webcontainer.WSWebContainer.addWebApplication(WSWebContainer.java:634)
   at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:426)
   at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:718)
   at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1173)
   at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1370)
   at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:639)
   at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:968)
   at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:772)
   at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplicationDynamically(ApplicationMgrImpl.java:1367)
   at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2172)
   at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:445)
   at com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:123)
   at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:388)
   at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$500(CompositionUnitMgrImpl.java:116)
   at com.ibm.ws.runtime.component.CompositionUnitMgrImpl$1.run(CompositionUnitMgrImpl.java:663)
   at com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.java:5369)
   at com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerImpl.java:5585)
   at com.ibm.ws.security.core.SecurityContext.runAsSystem(SecurityContext.java:255)
   at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.startCompositionUnit(CompositionUnitMgrImpl.java:677)
   at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.startCompositionUnit(CompositionUnitMgrImpl.java:621)
   at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:1259)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:76)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:602)
   at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:75)
   at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:602)
   at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:279)
   at javax.management.modelmbean.RequiredModelMBean$4.run(RequiredModelMBean.java:1245)
   at java.security.AccessController.doPrivileged(AccessController.java:252)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
   at javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1239)
   at javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:1077)
   at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
   at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:792)
   at com.ibm.ws.management.AdminServiceImpl$1.run(AdminServiceImpl.java:1335)
   at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)
   at com.ibm.ws.management.AdminServiceImpl.invoke(AdminServiceImpl.java:1228)
   at com.ibm.ws.management.connector.AdminServiceDelegator.invoke(AdminServiceDelegator.java:181)
   at com.ibm.ws.management.connector.ipc.CallRouter.route(CallRouter.java:247)
   at com.ibm.ws.management.connector.ipc.IPCConnectorInboundLink.doWork(IPCConnectorInboundLink.java:360)
   at com.ibm.ws.management.connector.ipc.IPCConnectorInboundLink$IPCConnectorReadCallback.complete(IPCConnectorInboundLink.java:602)
   at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
   at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
   at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
   at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
   at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
   at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
   at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
   at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1815)
12280000526103
[6/9/13 23:47:10:350 MYT] 00000070 BeansDeployer E BeansDeployer deploy
                                 org.apache.webbeans.exception.WebBeansConfigurationException: There are errors that are added by AfterDeploymentValidation event observers. Look at logs for further details
   at org.apache.webbeans.util.WebBeansUtil.inspectErrorStack(WebBeansUtil.java:3000)
   at org.apache.webbeans.config.BeansDeployer.fireAfterDeploymentValidationEvent(BeansDeployer.java:282)
   at org.apache.webbeans.config.BeansDeployer.deploy(BeansDeployer.java:186)
   at org.apache.webbeans.lifecycle.AbstractLifeCycle.startApplication(AbstractLifeCycle.java:124)
   at org.apache.webbeans.web.lifecycle.WebContainerLifecycle.startApplication(WebContainerLifecycle.java:78)
   at com.ibm.ws.webbeans.common.CommonLifeCycle.startApplication(CommonLifeCycle.java:106)
   at com.ibm.ws.webbeans.services.JCDIServletContainerInitializer.onStartup(JCDIServletContainerInitializer.java:85)
   at com.ibm.ws.webcontainer.webapp.WebAppImpl.initializeServletContainerInitializers(WebAppImpl.java:613)
   at com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java:409)
   at com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(WebGroupImpl.java:88)
   at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:169)
   at com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:749)
   at com.ibm.ws.webcontainer.WSWebContainer.addWebApplication(WSWebContainer.java:634)
   at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:426)
   at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:718)
   at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1173)
   at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1370)
   at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:639)
   at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:968)
   at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:772)
   at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplicationDynamically(ApplicationMgrImpl.java:1367)
   at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2172)
   at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:445)
   at com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:123)
   at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:388)
   at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$500(CompositionUnitMgrImpl.java:116)
   at com.ibm.ws.runtime.component.CompositionUnitMgrImpl$1.run(CompositionUnitMgrImpl.java:663)
   at com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.java:5369)
   at com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerImpl.java:5585)
   at com.ibm.ws.security.core.SecurityContext.runAsSystem(SecurityContext.java:255)
   at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.startCompositionUnit(CompositionUnitMgrImpl.java:677)
   at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.startCompositionUnit(CompositionUnitMgrImpl.java:621)
   at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:1259)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:76)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:602)
   at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:75)
   at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:602)
   at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:279)
   at javax.management.modelmbean.RequiredModelMBean$4.run(RequiredModelMBean.java:1245)
   at java.security.AccessController.doPrivileged(AccessController.java:252)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
   at javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1239)
   at javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:1077)
   at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
   at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:792)
   at com.ibm.ws.management.AdminServiceImpl$1.run(AdminServiceImpl.java:1335)
   at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)
   at com.ibm.ws.management.AdminServiceImpl.invoke(AdminServiceImpl.java:1228)
   at com.ibm.ws.management.connector.AdminServiceDelegator.invoke(AdminServiceDelegator.java:181)
   at com.ibm.ws.management.connector.ipc.CallRouter.route(CallRouter.java:247)
   at com.ibm.ws.management.connector.ipc.IPCConnectorInboundLink.doWork(IPCConnectorInboundLink.java:360)
   at com.ibm.ws.management.connector.ipc.IPCConnectorInboundLink$IPCConnectorReadCallback.complete(IPCConnectorInboundLink.java:602)
   at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
   at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
   at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
   at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
   at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
   at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
   at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
   at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1815)

[6/9/13 23:47:10:405 MYT] 00000070 webapp        E com.ibm.ws.webcontainer.webapp.WebGroupImpl WebGroup SRVE0015E: Failure to initialize Web application project
[6/9/13 23:47:10:418 MYT] 00000070 DeployedAppli W   WSVR0206E: Module, project-0.1.0.BUILD-SNAPSHOT.war, of application, project-0_1_0_BUILD-SNAPSHOT_war.ear/deployments/project-0_1_0_BUILD-SNAPSHOT_war, failed to start
[6/9/13 23:47:10:426 MYT] 00000070 ApplicationMg W   WSVR0101W: An error occurred starting, project-0_1_0_BUILD-SNAPSHOT_war
[6/9/13 23:47:10:427 MYT] 00000070 ApplicationMg A   WSVR0217I: Stopping application: project-0_1_0_BUILD-SNAPSHOT_war
[6/9/13 23:47:10:456 MYT] 00000070 ApplicationMg A   WSVR0220I: Application stopped: project-0_1_0_BUILD-SNAPSHOT_war
[6/9/13 23:47:10:471 MYT] 00000070 SystemOut     O WARN: The method class org.apache.commons.logging.impl.SLF4JLogFactory#release() was invoked.
[6/9/13 23:47:10:471 MYT] 00000070 SystemOut     O WARN: Please see http://www.slf4j.org/codes.html#release for an explanation.
[6/9/13 23:47:10:481 MYT] 00000070 CompositionUn E   WSVR0194E: Composition unit WebSphere:cuname=project-0_1_0_BUILD-SNAPSHOT_war in BLA WebSphere:blaname=project-0_1_0_BUILD-SNAPSHOT_war failed to start.
</blockcode>

And this is my applicationContext.xml look like;
<blockcode>
<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

   <!– process engine configuration –>
   <bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
      <property name="dataSource" ref="activitiDataSource" />
      <property name="transactionManager" ref="transactionManager" />
      <property name="transactionsExternallyManaged" value="true" />
      <property name="databaseSchemaUpdate" value="true" />
      <property name="jpaEntityManagerFactory" ref="entityManagerFactory" />
      <property name="jpaHandleTransaction" value="false" />
      <property name="jpaCloseEntityManager" value="false" />
      <property name="jobExecutorActivate" value="false" />
      <property name="deploymentResources"
         value="classpath*:/META-INF/activiti/process.*.bpmn20.xml*"></property>
      <property name="dbIdentityUsed" value="true" />
   </bean>

   <bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean">
      <property name="processEngineConfiguration" ref="processEngineConfiguration" />
   </bean>

   <bean id="repositoryService" factory-bean="processEngine"
      factory-method="getRepositoryService" />
   <bean id="runtimeService" factory-bean="processEngine"
      factory-method="getRuntimeService" />
   <bean id="taskService" factory-bean="processEngine"
      factory-method="getTaskService" />
   <bean id="historyService" factory-bean="processEngine"
      factory-method="getHistoryService" />
   <bean id="managementService" factory-bean="processEngine"
      factory-method="getManagementService" />
   <bean id="identityService" factory-bean="processEngine"
      factory-method="getIdentityService" />
   <bean id="formService" factory-bean="processEngine"
      factory-method="getFormService" />

</beans>
</blockcode>

After spent a lot of time to pin down the issue, i found dead end. I was brought to BPM-Guide site which atleast giving me more information on WAS issue, and i believe there should be a workaround to make activiti works just fine with WAS.
One way out for you by the way could be the Spring Framework which already contains abstractions for many vendor-specific technologies like transactions and threading.

TL;DR : Packaging Spring Maven with Activiti as war, deployed to WAS8.5 with default setup and application wont start. ProcessEngineLookup service issue.

Thanks

Outcomes