0 Replies Latest reply on Apr 24, 2008 5:03 AM by ywtsang

    updated jndi name can't refer to the hot deployed codes

    ywtsang

      let me describe my situation with some simplification:

      (jboss4.2.0.GA, ejb3)

      1 ear (A.ear) with 1 session bean (ProductManagerBean) is deployed
      jndi name = A.ear/ProductManagerBean

      1 tomcat (tomcat 6.0.13) acts as a client and use the session bean remotely


      now i updated the session bean code and hot-deployed to the jboss with the "jndi" name and ear name changed:
      e.g.
      A-1.ear
      jndi name is changed to A-1.ear/ProductManagerBean


      i can check that the deployment of the A-1.ear has no problem and it can shows correctly at the jmx console and also the jndi tree

      and i go to shutdown the tomcat to deploy the updated client (to use A-1.ear and new jndi name) and start the app again

      now the client app is still "pointing" to the old bean
      (this is verified by:
      i remove the A.ear from the jboss, it is supposed that will not affect the updated tomcat client, but it shows error like "A.ear unbounded", so the tomcat client is pointing to the old ear

      but if i restart the jboss and tomcat again, no problem, i.e. it is pointing to the updated A-1.ear and ProductServiceBean

      one more observation that may help:
      when 2 ear is deployed and i view the jndi tree
      the "productservicebean" appears below at 2 different roots (A.ear/A-1.ear), but the "proxy" name is the same, i.e. something like proxy1234
      )


      simply speaking, i want to deploy "multiple" versions of my application to the jboss and let different clients to reference to different versions at the same time

      i guess this is conflicted at the same "class name" of the ejb?

      any hint to solve my problem?