Uploaded image for project: 'EJB 3.0'
  1. EJB 3.0
  2. EJBTHREE-946

StatefulTreeCache does not properly segregate deployments

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • AS 4.2.0 GA
    • AS 4.2.0 GA
    • Clustering
    • None

      StatefulTreeCache is using Container.getEjbName() as the first element in a bean node's Fqn. This is insufficient as that's not unique across deployments. If you deploy 2 jars and both have an ejb named Foo, when one of the jars is undeployed, the /Foo region is removed from the cache, which is unacceptable.

      StatefulSessionFilePersistenceManager solves this by adding a UID to name of the directory where it stores files, but that is inadequate for clustered beans, since all nodes in the cluster need to arrive at the same Fqn.

      Likely solution is to prefix the ejb name with something built up a la StatefulContainer.getDeployment().getScopedKernelName(), i.e.

      [ear=xyz.ear,]jar=abc.jar,StatefulBean

              bstansbe@redhat.com Brian Stansberry
              bstansbe@redhat.com Brian Stansberry
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: