Troubleshooting
Problem
In a multiple-cluster topology, when a coach is loaded in Process Portal, an error is written to the WebApp or Support cluster SystemOut.log file and the collaboration function is not correctly initialized.
Symptom
An error and stack trace that is similar to the following text is written to the SystemOut.log file when a coach is loaded. Note: Some lines have been omitted.
0000002f SessionManage I
org.cometd.server.AbstractService exception Exception while invoking
session#public void
com.ibm.bpm.socialbus.session.SessionManager.handleMessage(org.cometd.ba
yeux.server.ServerSession,org.cometd.bayeux.Message) from
25sb6pek8kb9objho7l3iocj5 - last connect 13 ms ago with
{ext={com.ibm.bpm.notification.origin=cell1\cell1-node1\
BPM.WebApp.cell1-node1.0},
channel=/bpm/notifications/collaboration/t2754/3028.4c38cd62-701a-4580-b
8e7-70527eaf12cc/USER_JOIN_SESSION, timestamp=Wed, 17 Jul 2013 11:41:47
GMT, data={userName=admin, editorID=admin, taskOwnerID=admin,
fullName=Administrator}, id=328}
java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor64.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at org.cometd.server.AbstractService.doInvoke(AbstractService.java:331)
at org.cometd.server.AbstractService.invoke(AbstractService.java:293)
at
org.cometd.server.AbstractService.access$100(AbstractService.java:55)
at
org.cometd.server.AbstractService$1.onMessage(AbstractService.java:236)
at
org.cometd.server.BayeuxServerImpl.notifyOnMessage(BayeuxServerImpl.java
:907)
at
org.cometd.server.BayeuxServerImpl.doPublish(BayeuxServerImpl.java:832)
at
com.ibm.bpm.socialbus.servlet.SocialBusBayeuxServerImpl.doPublish(Social
BusBayeuxServerImpl.java:72)
at
org.cometd.server.ServerChannelImpl.publish(ServerChannelImpl.java:301)
at org.cometd.server.BayeuxServerImpl.handle(BayeuxServerImpl.java:698)
at
org.cometd.server.transport.LongPollingTransport.bayeuxServerHandle(Long
PollingTransport.java:425)
at
org.cometd.server.transport.LongPollingTransport.handle(LongPollingTrans
port.java:234)
at org.cometd.server.CometdServlet.service(CometdServlet.java:181)
at
com.ibm.bpm.socialbus.servlet.SocialBusServiceServlet.service(SocialBusS
erviceServlet.java:85)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
at
com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.ja
va:1224)
at
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrap
per.java:774)
...
Caused by: java.lang.ExceptionInInitializerError
at java.lang.J9VMInternals.initialize(J9VMInternals.java:250)
at
com.lombardisoftware.client.persistence.TaskMarkerFactory.getInstance(Ta
skMarkerFactory.java:47)
at
com.lombardisoftware.server.task.collaboration.TaskCollaborationHelper.g
etCurrentCollaboratingUserList(TaskCollaborationHelper.java:100)
at
com.ibm.bpm.socialbus.session.RosterItem.getNumCollabUsers(RosterItem.ja
va:120)
...
Caused by: org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'twConfiguration' defined in class path
resource [registry.xml]: Instantiation of bean failed; nested exception
is org.springframework.beans.factory.BeanDefinitionStoreException:
Factory method [private static
com.lombardisoftware.core.config.TWConfiguration
com.lombardisoftware.core.config.TWConfiguration.loadConfigurationLocall
y()] threw exception; nested exception is java.lang.RuntimeException:
Cannot load configuration locally, exception =
com.lombardisoftware.core.TeamWorksException: Could not read
configuration directory /config/
at
org.springframework.beans.factory.support.ConstructorResolver.instantiat
eUsingFactoryMethod(ConstructorResolver.java:444)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.ja
va:903)
//... removed some lines
Caused by:
org.springframework.beans.factory.BeanDefinitionStoreException: Factory
method [private static com.lombardisoftware.core.config.TWConfiguration
com.lombardisoftware.core.config.TWConfiguration.loadConfigurationLocall
y()] threw exception; nested exception is java.lang.RuntimeException:
Cannot load configuration locally, exception =
com.lombardisoftware.core.TeamWorksException: Could not read
configuration directory /config/
at
org.springframework.beans.factory.support.SimpleInstantiationStrategy.in
stantiate(SimpleInstantiationStrategy.java:127)
at
org.springframework.beans.factory.support.ConstructorResolver.instantiat
eUsingFactoryMethod(ConstructorResolver.java:435)
... 70 more
Caused by: java.lang.RuntimeException: Cannot load configuration
locally, exception = com.lombardisoftware.core.TeamWorksException: Could
not read configuration directory /config/
at
com.lombardisoftware.core.config.TWConfiguration.loadConfigurationLocall
y(TWConfiguration.java:98)
//... removed some lines
Caused by: com.lombardisoftware.core.TeamWorksException: Could not read
configuration directory /config/
at
com.lombardisoftware.core.TeamWorksException.asTeamWorksException(TeamWo
rksException.java:136)
at
com.lombardisoftware.core.config.TWConfigurationLoader.getConfiguration(
TWConfigurationLoader.java:46)
at
com.lombardisoftware.core.config.TWConfiguration.loadConfigurationLocall
y(TWConfiguration.java:96)
... 76 more
Caused by: java.lang.RuntimeException: Could not read configuration
directory /config/
at
com.lombardisoftware.core.config.TWConfigurationLoader.getConfig(TWConfi
gurationLoader.java:99)
at
com.lombardisoftware.core.config.TWConfigurationLoader.getConfig(TWConfi
gurationLoader.java:90)
at
com.lombardisoftware.core.config.TWConfigurationLoader.getConfiguration(
TWConfigurationLoader.java:40)
... 77 more
Additionally, you may observe (in a Firebug or Fiddler trace, for example) that a HTTP request for URL https://<hostname>/ProcessPortal/notification/roster/task... returns an HTTP 500 response code, with a response similar to this:
Error 500: java.lang.NoClassDefFoundError: com.lombardisoftware.client.persistence.TaskFactory$InstanceHolder
(initialization failure)
Cause
The fix for APAR JR46347, which was released as interim fixes for IBM Business Process Manager Versions 8.0.1.0 and 8.0.1 Fix Pack 1 and was included in Version 8.0.1 Fix Pack 2, created a dependency in the IBM_BPM_Process_Portal_Notification application on a configuration directory. The configuration directory does not exist on the WebApp cluster in a four-cluster topology, or the Support cluster in a three-cluster topology, where the application is installed by default. As a result, the collaboration function that is implemented within the application cannot properly initialize when a coach is loaded.
Diagnosing The Problem
For Versions 8.0.1.0 and 8.0.1 Fix Pack 1, complete the following steps to determine whether you have installed the JR46347 interim fix:
- In a command window, go to the BPM_HOME/bin directory.
- Run the versionInfo.bat -maintenancePackages command on Microsoft Windows operating systems or the ./versionInfo.sh -maintenancePackages command on all other operating systems.
If the output of the command includes 8.0.1.0-WS-BPM-IFJR46347 with Version 8.0.1.0 or 8.0.1.1-WS-BPM-IFJR46347 with Version 8.0.1 Fix Pack 1, then the JR46347 interim fix is installed.
For Version 8.0.1 Fix Pack 2, the issue occurs in a multiple-cluster topology as the JR46347 fix is included in that version.
Resolving The Problem
To resolve the problem, move the IBM_BPM_Process_Portal_Notification application from the WebApp or Support cluster to the AppTarget cluster using the following procedure:
- Open the WebSphere administrative console.
- Navigate to Applications > Application Types > WebSphere enterprise applications.
- Click IBM_BPM_Process_Portal_Notification_<DE Name>.WebApp or IBM_BPM_Process_Portal_Notification_<DE Name>.Support where <DE Name> is the name of the deployment environment.
- Click Modules > Manage Modules.
- Select the <DE Name>.AppTarget cluster from the Clusters and servers list.
- Select all of the modules in the table of modules, which is below the Clusters and servers list.
- Click Apply.
- Click Save.
- Synchronize all of the nodes.
- Start the IBM_BPM_Process_Portal_Notification_<DE Name>.AppTarget application.
Product Synonym
BPM
Was this topic helpful?
Document Information
Modified date:
15 June 2018
UID
swg21651104