[ 
https://issues.apache.org/jira/browse/DERBY-3435?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

John H. Embretsen updated DERBY-3435:
-------------------------------------

    Attachment: d3435_v01.stat
                d3435_v01.diff

The patch d3435_v01.diff defines and implements an MBean for monitoring
and (future work) management of the Network Server. 

Although the MBean works, it is currently limited to exposing read-only 
attributes only (i.e. no management functionality), in addition to the
ping() operation, so I consider this just to be a start of what could 
eventually become a very useful bean for server administrators. 

Patch contents:

A      java/engine/org/apache/derby/mbeans/drda

  New package for Network Server mbeans (included in derbynet.jar)


A      java/engine/org/apache/derby/mbeans/drda/NetworkServerMBean.java

  The defining interface of the MBean. The following read-only attributes are
  available:

    ([Attribute]            - [associated server property])
    DrdaHost                - derby.drda.host
    DrdaKeepAlive           - derby.drda.keepAlive
    DrdaMaxThreads          - derby.drda.maxThreads
    DrdaPortNumber          - derby.drda.portNumber
    DrdaSecurityMechanism   - derby.drda.securityMechanism
    DrdaSslMode             - derby.drda.sslMode
    DrdaStreamOutBufferSize - derby.drda.streamOutBufferSize
    DrdaTimeSlice           - derby.drda.timeSlice
    DrdaTraceAll            - derby.drda.traceAll
    DrdaTraceDirectory      - derby.drda.traceDirectory

  The ping() operation requires the permission

    permission java.net.SocketPermission "*", "connect,resolve";

  ("*" may be replaced, depending on the -h option of the server) 
  granted to derbynet.jar in order to work, due to the way the network
  server is currently implemented.

A      java/drda/org/apache/derby/impl/drda/NetworkServerMBeanImpl.java

  The implementation of NetworkServerMBean. Instruments 
NetworkServerControlImpl.


M      java/drda/org/apache/derby/impl/drda/NetworkServerControlImpl.java

  - removes some unused imports
  - registers the MBean at server startup
  - unregisters the MBean at server shutdown
  - relaxes the modifier of the method getPropertyValues() from private
    to package-private in order to allow access to server settings from the
    MBean impl. without having to use a network connection.


M      tools/javadoc/publishedapi.ant

  Adds org.apache.derby.mbeans.drda to the publishedAPI javadocs.


The patch includes some commented code copied from patch 9 of DERBY-1387,
as a temporary reminder of the functionality initially proposed as part of
that Jira issue. This code should eventually be removed and/or replaced by 
real code once the community agrees on and implements a security model for 
Derby's JMX functionality.


> Add an MBean for monitoring and managing the Network Server
> -----------------------------------------------------------
>
>                 Key: DERBY-3435
>                 URL: https://issues.apache.org/jira/browse/DERBY-3435
>             Project: Derby
>          Issue Type: Sub-task
>          Components: Network Server, Services
>            Reporter: John H. Embretsen
>            Assignee: John H. Embretsen
>         Attachments: d3435_v01.diff, d3435_v01.stat
>
>
> Most functionality of and information about a running instance of the Network 
> Server is currently only available from the host running the Network Server, 
> using the NetworkServerControl API.
> With a JMX Management and Monitoring service in place utilizing JMX 
> (DERBY-1387), it is possible to expose some of the Network Server 
> functionality and information through an MBean that is specific to the 
> Network Server, to both local and remote users (JMX clients), subject to 
> security restrictions. Access to Derby libraries on the client side is not 
> even a requirement, potentially making a server administrator's job a lot 
> easier.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to