0 Replies Latest reply on Jun 19, 2004 6:59 PM by bodaro

    Avoiding EJC Call Overhead by Running Jboss and Tomcat in th

    bodaro

      I have an application that intiially separated Jboss 3.0.6 and Tomcat 4.1.24 into separate JVMs. To gain efficieny we wish to run both in the same JVM and avoid the cost of marshalling/unmarshalling and remote invocations.

      I took our Jboss 3.0.6 server and embedded the tomcat 4.1.18 server that came with the Jboss 3.0.6-Tomcat 4.1.18 distribution. I am able to successfully start the application and it unpacks my WAR and EAR files without errors.

      On the first request that uses EJB calls I see this error:

      15:37:07,648 ERROR [LogInterceptor] EJBException:
      javax.ejb.EJBException: Invalid invocation, check your deployment packaging, method=public abstract com.yaga.contentmanager.ContentManager com.yaga.contentmanager.ContentManagerHome.create() throws java.rmi.RemoteException,javax.ejb.CreateException
      at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invokeHome(StatelessSessionContainer.java:597)
      ...

      I have done no configuration changes from t he original tomcat webapp - so I assume its still communicating on port 1099 with JBoss. But why shouldnt it work in this new configuration? Presumably Jboss is still listening on port 1099 and my client side bean calls have not changed.

      Any ideas?

      ------------
      I wish to remove the overhead of marshalling. I was told that there is a switch in Jboss that will recognize that the EJB calls are in-process and avoid themarshalling and avoid using TCP over port 1099. Can you tell me how to enable this?

      Any help is appreicated, including pointers to documentation.

      Please note: I accidentally posted a similar message as a reply to another pos.

      Mike