Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-2981

Initiate Nuxeo Monitoring Services

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 5.2 RC1
    • Component/s: None

      Description

      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

        Attachments

          Activity

            People

            • Assignee:
              slacoin Stéphane Lacoin
              Reporter:
              slacoin Stéphane Lacoin
              Participants:
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 2 days, 2 hours Original Estimate - 2 days, 2 hours
                2d 2h
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 4 days, 4 hours
                4d 4h