[jboss-dev-forums] [Design of POJO Server] - ProfileService - ManagedObject impl

adrian@jboss.org do-not-reply at jboss.com
Mon Aug 28 09:05:04 EDT 2006


To help in the implementation of the ManagedObject part of the
deployers, I've implemeted the MXBean in the mbeans module.
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3967804#3967804

The MXBean/OpenMBean has some fundamental restrictions where
we should try to go further:

1) OpenType is immutable so it is difficult/impossible to build
recursive types. e.g. class.getSuperClass()
You can't have java.lang.Class as an "attribute" of the
java.lang.Class composite type.

2) OpenType being immutable doesn't support "setters".
OpenTypes can only be set on MXBeans.

3) OpenType/CompositeType access, creates and transfers
across the wire the full graph of the object. There should be
an option for something more lazy for more complicated
and extensions object graphs.

4) OpenType has only limited support for primitives, in
general it works because of reflection, i.e. autoboxing
but there are some examples where it doesn't work,
see the javadoc above for an example.

5) No support for polymorphism.
i.e. You can have a true Object[] or BaseClass[]
because of restrictions on CompositeType "subclassing" 
(being fix in the spec) and also SimpleTypes and arrays
are transfered as "raw data".

To support polymorphism, rather than the open data for a string
being a java.lang.String, it would need to be the couple

  | SimpleData
  | {
  |    SimpleType type; // SimpleType.STRING
  |    Object data; // java.lang.String
  | }
  | 

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3967805#3967805

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3967805



More information about the jboss-dev-forums mailing list