Closed iocanel closed 10 years ago
When used in container (where our 1st Level API is available) it would not add functionality - it may provide convenience for the expense of duplicating large parts of the API.
For remote access we currently work with Open MBeans, which indeed are not very convenient to work with. To work with a container, we currently can do
ContainerManagement cntManagement = ManagementUtils.getMBeanProxy(mbeanServer, ContainerManagement.OBJECT_NAME, ContainerManagement.class);
CompositeData cdata = cntManagement.getContainer(idA.getCanonicalForm());
Container cntB = ContainerOpenType.getContainer(cdata);
Assert.assertEquals(idA, cntB.getIdentity());
Assert.assertEquals(cntA.getAttributes(), cntB.getAttributes());
I suggest to keep this proposal in mind and perhaps get it started as an additional project one day. In the foreseeable future I suggest to focus on 1st Level API, and a comprehensive set of MBeans that would need to be available to get something like this implemented anyway.
Deferred
Currently we have things like the ProfileManager the ContainerManager etc, but I think that we should have an entry level api for clients and internal use.
The entry point can directly make use of ProfileManager and ContainerManager etc.
Obtaining the entry point
Internally can be done by service lookup.
Excternallyl it could look like:
Playing with containers
List
Create:
Stop / Destroy a container
Operate on multiple containers using Predicates (as used in guava and java8) :
Playing with Versions
List
Create
Delete
List Profiles
Playing with Profiles
Create