Initiate Nuxeo Monitoring Services
----------------------------------

                 Key: NXP-2981
                 URL: http://jira.nuxeo.org/browse/NXP-2981
             Project: Nuxeo Enterprise Platform
          Issue Type: Bug
            Reporter: Stéphane Lacoin
            Assignee: Thierry Delprat
            Priority: Major
             Fix For: 5.2 M4


For the management interface we should be compatible with JMX because  
this is the builtin java management standard and we must be able to  
integrate with existing management tools and interfaces like the ones  
in JBoss and glassfish.

Of course we will make a high level service on top of this - to be  
able to customize the management interface registration.
So what I propose: (I've already discussed this wiht Stefan L. about  
this - which will start a first implementation since we need it for AFP)

1. The java MBean server will be used to keep the service management  
registry.
So all management interfaces will be visible as MBeans too. This  
allows integration in existing java management systems.

2. We provide a runtime service - I propose the name ServiceManagement
which will register management interfaces in Nuxeo.
We will support several ways to define management interfaces:
1. The standard MBean mechanism - this means by creating an interface  
MyServiceMBean will automatically declare a management interface for  
the MyService service.
2. Registration through extesion points:
        An extension point named management or mbean or etc. will be  
provided. This extension point is taking 3 arguments:
        - name = the MBean name can be a JMX name like nx:name=my_service or  
a simple name like "my_service" that will be automatically expanded to  
a valid JMX name by using the nx: prefix and the name attribute...
        - class = the service class for which we specify a management interface
        - interface = the management interface (OPTIONAL) - by  
default wil be {CLASS_NAME}MBean
3. Using annotations  - this will be implemented later - but for  
simplicity it is useful to provide a way to control management  
interfaces throygh annotations
Example:

@Management(name="my_service", iface=MyManagenentInterface)
class MyService {

}

We will provide then 2 ways to expose managenent interfaces:
- one by REST through webengine
- one by JMX remoting that is provided by jboss or gralssfish through  
nxshell


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.nuxeo.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       
_______________________________________________
ECM-tickets mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm-tickets

Reply via email to