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