-
Bug
-
Resolution: Done
-
Major
-
AS 4.2.0 GA
-
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