[
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.