Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 822161

Summary: jbpm-console cannot initialize session because of java.lang.NoClassDefFoundError: org/jboss/netty/channel/socket/ClientSocketChannelFactory
Product: [JBoss] JBoss Enterprise BRMS Platform 5 Reporter: Jiri Locker <jlocker>
Component: jBPM ConsoleAssignee: Ryan Zhang <rzhang>
Status: CLOSED UPSTREAM QA Contact:
Severity: high Docs Contact:
Priority: unspecified    
Version: BRMS 5.3.0.GACC: jcoleman, tcunning
Target Milestone: ER8   
Target Release: BRMS 5.3.0.GA   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-02-10 03:19:52 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
server.log none

Description Jiri Locker 2012-05-16 14:07:40 UTC
Created attachment 584977 [details]
server.log

Description of problem:
Netty dependency scope was changed to "provided" as part of the fix for bug 820210. However, this dependency is provided out-of-the-box by the standalone BRMS package. In other containers this dependency is missing and so jbpm-console fails with NoClassDefFoundError when initializing the knowledge session.

Version-Release number of selected component (if applicable):
ER7

How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 tcunning 2012-05-16 15:01:37 UTC
After trying to start a task, I'm seeing this in business-central (SOA-P 5.3 ER2 / BRMS ER7 deployable) : 

Does business-central need it as well?

java.lang.ClassNotFoundException: org.jboss.netty.channel.socket.ClientSocketChannelFactory from BaseClassLoader@5b784b{vfsfile:/home/tcunning/Downloads/soa-p/530er2/jboss-soa-p-5/jboss-as/server/default/deploy/gwt-console-server.war/}
	org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:477)
	java.lang.ClassLoader.loadClass(ClassLoader.java:247)
	org.hornetq.core.remoting.impl.netty.NettyConnectorFactory.createConnector(NettyConnectorFactory.java:40)
	org.hornetq.core.client.impl.ClientSessionFactoryImpl.getConnection(ClientSessionFactoryImpl.java:1117)
	org.hornetq.core.client.impl.ClientSessionFactoryImpl.getConnectionWithRetry(ClientSessionFactoryImpl.java:992)
	org.hornetq.core.client.impl.ClientSessionFactoryImpl.connect(ClientSessionFactoryImpl.java:223)
	org.hornetq.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:673)
	org.jbpm.task.service.hornetq.HornetQTaskClientConnector.connect(HornetQTaskClientConnector.java:94)
	org.jbpm.task.service.hornetq.HornetQTaskClientConnector.connect(HornetQTaskClientConnector.java:74)
	org.jbpm.task.service.TaskClient.connect(TaskClient.java:769)
	org.jbpm.integration.console.TaskClientFactory.newAsyncInstance(TaskClientFactory.java:104)
	org.jbpm.integration.console.StatefulKnowledgeSessionUtil.registerWorkItemHandler(StatefulKnowledgeSessionUtil.java:329)
	org.jbpm.integration.console.StatefulKnowledgeSessionUtil.initializeStatefulKnowledgeSession(StatefulKnowledgeSessionUtil.java:158)
	org.jbpm.integration.console.StatefulKnowledgeSessionUtil$SessionHolder.<clinit>(StatefulKnowledgeSessionUtil.java:127)
	org.jbpm.integration.console.StatefulKnowledgeSessionUtil.getStatefulKnowledgeSession(StatefulKnowledgeSessionUtil.java:131)
	org.jbpm.integration.console.SessionInitializer.<init>(SessionInitializer.java:25)
	org.jbpm.integration.console.TaskManagement.<init>(TaskManagement.java:49)
	org.jbpm.integration.console.ManagementFactory.createTaskManagement(ManagementFactory.java:26)
	org.jbpm.integration.console.ManagementFactory.createTaskManagement(ManagementFactory.java:19)
	org.jboss.bpm.console.server.TaskListFacade.getTaskManagement(TaskListFacade.java:72)
	org.jboss.bpm.console.server.TaskListFacade.getTasksForIdRef(TaskListFacade.java:101)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	java.lang.reflect.Method.invoke(Method.java:597)
	org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:140)
	org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:255)
	org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:220)
	org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:209)
	org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:519)
	org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:496)
	org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119)
	org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)
	org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)
	org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	org.jboss.bpm.console.server.util.GWTJsonFilter.doFilter(GWTJsonFilter.java:59)
	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

Comment 2 Kris Verlaenen 2012-05-16 15:54:02 UTC
The idea was to remove netty by default and rely on the version that is provided by the application server:
"Let's make it work with what's provided in the container. (Note that this may break Tomcat, but we'll handle that the standard way - by documenting it.)"

What container are you deploying this on?

Comment 3 tcunning 2012-05-16 20:05:59 UTC
SOA-P 5.3, with mina as human-task-server client.

Comment 4 Julian Coleman 2012-05-16 20:09:44 UTC
In EAP/SOA-P, netty.jar is only provided in the client directory.  So, we need
to decide if we want to add netty.jar to the two war deployments in the BRMS-P
deployable, or to document this step too.

Comment 5 Kris Verlaenen 2012-05-22 21:29:46 UTC
Assigning to Ryan, as this seems to be an issue that needs to be tackled in the build (or documentation if decided this is the best option).

Comment 6 Julian Coleman 2012-05-23 10:10:28 UTC
For SOA-P and EAP installations, this will only be supported when HornetQ is already installed.  Then, netty.jar will be present in the server common/lib/ directory.

Comment 7 Ryan Zhang 2012-05-25 09:08:01 UTC
Please verify them on ER8.

Comment 8 Lukáš Petrovický 2012-05-29 12:30:36 UTC
VERIFIED fixed in ER8.

Comment 13 Red Hat Bugzilla 2025-02-10 03:19:52 UTC
This product has been discontinued or is no longer tracked in Red Hat Bugzilla.