IBM Support

Process Engine (Workflow) operations could fail in a Content Platform Engine cluster deployment on JBoss 4.3 EAP

Troubleshooting


Problem

In a cluster configuration for Content Platform Engine (CPE), Process Engine (i.e., Workflow) functionalities or operations could fail on JBoss 4.3 EAP.

Symptom

During the startup of the CPE server, the following exception is thrown in the JBoss server.log:


2014-11-18 16:24:13,743 DEBUG [org.jboss.ejb3.Ejb3Module] Initialization failed jboss.j2ee:service=EJB3,module=peengine-ejb.jar
java.lang.ClassNotFoundException: No ClassLoaders found for: org.jboss.ha.client.loadbalance.RoundRobin
at org.jboss.mx.loading.LoadMgr3.beginLoadTask(LoadMgr3.java:212)
at org.jboss.mx.loading.RepositoryClassLoader.loadClassImpl(RepositoryClassLoader.java:534)
at org.jboss.mx.loading.RepositoryClassLoader.loadClass(RepositoryClassLoader.java:428)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

Below are some examples of Process Engine operations that could fail:

1) When opening an existing Workflow System or creating a new Workflow System from Administration Console for Content Engine (ACCE), the following exception is thrown and the operation fails to execute:

2014-11-18 16:41:17,219 DEBUG [filenet.pe.rpc.only] getEJBRef:THROWING
javax.naming.NameNotFoundException: ejb not bound
at org.jnp.server.NamingServer.getBinding(NamingServer.java:581)
at org.jnp.server.NamingServer.getBinding(NamingServer.java:589)
at org.jnp.server.NamingServer.getObject(NamingServer.java:595)
at org.jnp.server.NamingServer.lookup(NamingServer.java:313)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:694)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:654)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at filenet.pe.ejb.client.PERPCProxyBase.getEJBRef(PERPCProxyBase.java:332)
at filenet.pe.ejb.client.PESendAPIRPCProxy.getInstanceViaEJB(PESendAPIRPCProxy.java:65)
at filenet.pe.ejb.client.PESendAPIRPCProxy.<init>(PESendAPIRPCProxy.java:53)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
...


...
(the stack is truncated for readability)

2) When clicking on the Task button in Workplace XT to access Workflow inboxes, the following error is thrown in the client browser: "Unable to load the task page: A Process Engine exception occurred. See root cause exception for details." In the JBoss server.log, the following error is thrown:


2014-11-21 13:35:53,103 DEBUG [filenet.pe.rpc.only] getEJBRef:THROWING
javax.naming.NameNotFoundException: ejb/PEEngine/PESENDAPIRPC
at org.jboss.ha.jndi.TreeHead.lookup(TreeHead.java:242)
at org.jboss.ha.jndi.HAJNDI.lookup(HAJNDI.java:155)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Meth
...
...
(the stack is truncated for readability)

Cause

The current implementation of load balance policy in the Content Platform Engine (Engine-jbc.ear) is targeted JBoss 5.x EAP.

i.e., <load-balance-policy>org.jboss.ha.client.loadbalance.RoundRobin</load-balance-policy>

However, this failed for JBoss 4.3 EAP.

Diagnosing The Problem

Here are two approaches to diagnose the problem:

1) Obtain the JBoss 4.3 EAP server.log and check for the classloading error reported above (i.e., java.lang.ClassNotFoundException: No ClassLoaders found for: org.jboss.ha.client.loadbalance.RoundRobin).

2) Obtain user reported errors from WorkplaceXT / ACCE or from the JBoss 4.3 EAP server.log and check the error against the ones documented above.

Resolving The Problem

To resolve this issue, update the Engine-jbc.ear that is deployed in the JBoss 4.3 EAP cluster environment.

1) Stop all CPE instances that are hosting the CPE application

2) Use a zip utility (e.g., 7zip) and open the deployed Engine-jbc.ear in the JBoss deployed directory (e.g., C:\JBoss43EAP1\jboss-as\server\<myserver1>\deploy)

3) Edit the jboss.xml in Engine-jbc.ear/peengine-ejb.jar/META-INF and replace all instances of:



"org.jboss.ha.client.loadbalance.RoundRobin"

with

"org.jboss.ha.framework.interfaces.RoundRobin"

4) Save the Engine-jbc.ear
5) Make sure to perform step 2-3 for all Engine-jbc.ear files on each of the JBoss 4.3 instances
6) Start the CPE JBoss 4.3. instances

[{"Product":{"code":"SSNW2F","label":"FileNet P8 Platform"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Process Engine","Platform":[{"code":"PF033","label":"Windows"},{"code":"PF016","label":"Linux"}],"Version":"5.2","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
17 June 2018

UID

swg21691093