0 Replies Latest reply on Jan 14, 2005 4:29 PM by Daniel

    jBpm EJB Cluster configuration

    Daniel Newbie

      Hi everybody.
      I'm developing a web application on Tomcat based on jBoss jBpm, and I would like to create a jBpm EJB cluster to access it remotely from the application.
      Here is what I've done to configure it:

      I executed the ant deploy command in my ejb directory inside my jBpm proyect. This deployed de ejb.module into JBoss. I added the ejb.client and every jboss/client .jar archive to my web application WEB-INF/lib directory.
      I configured the jbpm-jboss cluster host IP with the required IP address, in jbpm-ds.xml file (as explained in jBpm web page documentation). I configure it for my localhost Ip and port 1701.

      I deployed the jBpm process archives on jBpm.

      I execute the client remote call from the web application on running on a Tomcat instance in the same machine where the jboss cluster server is (I only have one machine).

      When doing it, I get this exception:

      javax.naming.CommunicationException: Failed to retrieve stub from server 172.25.7.224:1100 [Root exception is java.io.StreamCorruptedException: unexpected block data]
      at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:207)
      at org.jnp.interfaces.NamingContext.discoverServer(NamingContext.java:1111)
      at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1196)
      at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:516)
      at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:509)
      at javax.naming.InitialContext.lookup(InitialContext.java:347)
      at org.jbpm.ejb.JbpmEjbServiceLocator.getExecutionServiceRemote(JbpmEjbServiceLocator.java:35)
      at com.ga.gms.services.integration.modificaciones.ModificacionesEjbService.startProcesoModificaciones(ModificacionesEjbService.java:95)
      at com.ga.gms.services.integration.modificaciones.ModificacionesEjbService.requestModificaciones(ModificacionesEjbService.java:47)
      at com.ga.gms.services.integration.modificaciones.ObtenerModificaciones.getModificaciones(ObtenerModificaciones.java:30)
      at com.ga.gms.web.ordenestrabajo.ordenestrabajo.actions.OrdenesTrabajoViewAction.execute(OrdenesTrabajoViewAction.java:89)
      at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
      at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
      at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1480)
      at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:506)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:284)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)
      at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:305)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:233)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:257)
      at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
      at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:245)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:199)
      at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:184)
      at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164)
      at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156)
      at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
      at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972)
      at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:206)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:833)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:732)
      at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:619)
      at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:688)
      at java.lang.Thread.run(Thread.java:534)
      Caused by: java.io.StreamCorruptedException: unexpected block data
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1288)
      at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
      at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
      at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
      at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
      at java.rmi.MarshalledObject.get(MarshalledObject.java:135)
      at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:196)
      ... 43 more

      I'm accesing port 1100 on client, and on server I put 1701. I don't know if this is write, but I put it as it was written in the jBpm ejb example.

      I also tried to deploy the jBpm ejb example application that comes with jBpm package, I run the tests and it works, so I must be doing something wrong with my application that I cannot acced to the cluster.

      I hope anyone can help me.

      Thanks in advance.

      Regards.