|public interface DeployerMBean extends ServiceMBean {
| /**
| * extended method to find out whether and in which classloader
| * an application is actually running
| */
| public ClassLoader whereDeployed(URL url) throws DeploymentException;
|
The name is really bad but I am very pleased to see the "central naming"
architecture. Finally we see a first take at the CL-service.
I would argue that it probably needs to be at the class level
public ClassLoader getClassLoaderForClass(String className) throws
DeploymentException;
or maybe even
Same same(String JNDIName)
This way you really ensure that you have one class loader for one class
otherwise you still can have copies of the classes in different URL within
one app.
What were you envisioning with the URL-> cl association?
|
|For the ejb-ref thing, because it�s not part of the
|application.xml, we need
|AFAIS a recursive (un)deploy call from ContainerFactory to J2EEDeployer in
|order to get the discussed (maybe cyclic) ejb-ref thing working.
|
|That�s not fully resolved now, but I think that for this purpose,
|J2EEDeployer must keep a hashtable of URL-->ClassLoader associations and
|ContainerFactory needs a map from URL to Set(URL) which is the clique of
|interdependent ears that is teared down together.
OK you are finally running into the "application post deployment" as I said
you have a notion of application at deployment and assembly time (the ear to
be precise) but not post deployment. That is a spec problem.
You can either have the J2EE Deployer keep that logic (today it is done this
way and imho sucks) or we can do it at the containerFactory level (like you
propose).
We finally agree and are discussing a "ApplicationManager". I am not sure
it is a "containerFactory" issue (you need to talk to all kinds of
containers) but it is at the CF layer (supra containers). The reason is
simple we keep a reference to all the containers that have a JNDI referenced
object we use.
We need to sit down and actually map the action of deploying an application
with many beans and some already deployed and sym linked with ejb-ref, we
need to define the topology (I know you guys like fancy words) of the CL,
and then the policies for undeploy/redeploy.
I will try to take a crack at it next week it is a service we have been
talking about for awhile now (level2) but never got around to doing
marc
|
|Best,
|CGJ
|
|