3 Replies Latest reply on Apr 18, 2007 1:39 PM by Raj Tiwari

    How to configure and run web and ejb tiers on separate machi

    Raj Tiwari Newbie

      Hello all,
      I was hoping to find a ton of info on what I think is a very common use case. Surprisingly, not only is info hard to come by, JBoss (4.0.5) is incredibly hard to configure for this.

      My situation:
      Security best practices and other constrains require I run my servlets and web services front end on one machine. Business logic in the form of JEB3, run on a separate network leg.

      I need to have one cluster of jboss running the web tier. This tier discovers EJBs via JNDI in the business tier. Sounds simple? Read on.

      If someone has a Wiki entry that already takes me step by step on this, point me now.

      Forgetting about the cluster, I decide to setup one machine with jboss in each tier.

      In my web tier, I modify jboss/server/default/conf/jndi.properties to point java.naming.provider.url to my business tier machine.

      I drop my-ws.war on the jboss running on my web tier machine. I then drop my-ejb.jar on the business tier machine. I start jboss on both.

      The business tier jboss starts happily. The web tier jboss throws out a bunch of exceptions around JNDI naming of some components. It starts up, nonetheless. At this point, no matter what JNDI name I conjure up for the EJBs, my web tier cannot find them. I run a packet sniffer to see if there is even any traffic between the two machines. There is none.

      I am probably shooting in the dark here. If someone has gone through this process and point me to a comprehensive set of steps on how to accomplish this, it would be greatly appreciated.

      Another thing that would be greatly appreciated is a way to find out JNDI names for EJBs. Is it my-ejb/ClassName/remote (if class lives in my-ejb.jar)? It would be really nice if jmx-console or web console or even jboss logs clearly stated this info.

      Sorry about the rant and thanks in advance for any info.