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.
New package for Network Server mbeans (included in derbynet.jar)
The defining interface of the MBean. The following read-only attributes are
([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.
The implementation of NetworkServerMBean. Instruments NetworkServerControlImpl.
- 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.
Adds org.apache.derby.mbeans.drda to the publishedAPI javadocs.
The patch includes some commented code copied from patch 9 of
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.