[
https://issues.apache.org/jira/browse/DERBY-1387?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
John H. Embretsen updated DERBY-1387:
-------------------------------------
Attachment: DERBY-1387-9.stat
DERBY-1387-9.diff
Uploaded a new patch, DERBY-1387-9.diff + .stat, replacing previous patches.
Changes since the previous (1387-8) patch:
- made org.apache.derby.iapi.services.mbeans.ManagementService independent
of JMX / jdk1.5, as explained in a previous comment. Thus, this patch
should build just fine without requiring additional libraries, though
the JMX features are not available in a 1.4 VM.
- added missing MDatabase class file.
- Changed o/a/d/impl/services/build.xml's "compile_impl_services_jdk15"
target to use the default compiler instead of jdk1.6 to compile 1.5 code,
with java15compile.classpath as the classpath, and included the
1.5-specific JMX functionality (impl/services/mbeans/*) in this target.
- added a check in FileMonitor for the presence of certain JMX classes
before allowing JMX to be enabled. A warning is printed to derby.log and
(if relevant) the Network Server console if JMX support is not available
but derby.system.jmx=true. This probably needs some polishing, at least
in the FileMonitor, where I've simply called report() with a hard-coded
String as parameter.
(I may also have missed something somewhere wrt. jdk1.4 since I have
not done any extensive testing, and I'm not fully on top of how the
monitor/module system works at this time.)
- improved Network Server error handling/reporting wrt. JMX
- resolved patch incompatilbility with current trunk wrt. server.policy
- added necessary permissions (present in server.policy) to template.policy
- fixed typo in java/engine/org/apache/derby/impl/services/build.xml
- removed some spurious tabs from some of the new code segments
- fixed some Javadoc errors
There are still some TODOs for this feature, including:
- proper authentication/authorization/system privileges support?
- Javadoc for all interfaces (a lot is missing in e.g. MDatabaseMBean.java)
- better error messages and message handling
- documentation
- testing
There are also a few other things worth mentioning/asking about, such as:
- why does NetworkServerControlImpl.java create the MBean directly instead
of using a factory method via the ManagementService interface?
(contrary to Ole Gunnar's comment of 01/Aug/07 01:30 AM + funcSpec)
Is it because the MBean requires a reference to NetworkServerControlImpl,
and the resulting dependencies/build issues are non-trivial to solve?
- currently, the NetworkServerControlMgmtMBean is in the same package as
NetworkServerControlImpl, and is compiled with jdk1.4, meaning that
this MBean cannot reference the JMX API directly (for example: Emit or
handle Notifications). We may want to change this in a future revision
of this feature.
- what is special about BaseMonitor.runWithState()? That is, if the JMX
module is started differently from other modules, why? I tried adding
the JMX module with class dependencies to
org/apache/derby/modules.properties without seeing any effect; could it
be related to this?
- when shutting down the server via JMX, no shutdown messages are written
to the log or the console. If shutdown is supposed to be supported, this
should be improved.
Anyway, since this now compiles with the current trunk and seems to run OK
with all supported JVM versions, I intend to update the functional spec
and work on testing next.
> Add JMX extensions to Derby
> ---------------------------
>
> Key: DERBY-1387
> URL: https://issues.apache.org/jira/browse/DERBY-1387
> Project: Derby
> Issue Type: New Feature
> Components: Services
> Reporter: Sanket Sharma
> Assignee: John H. Embretsen
> Attachments: DERBY-1387-1.diff, DERBY-1387-1.stat, DERBY-1387-2.diff,
> DERBY-1387-2.stat, DERBY-1387-3.diff, DERBY-1387-3.stat, DERBY-1387-4.diff,
> DERBY-1387-4.stat, DERBY-1387-5.diff, DERBY-1387-5.stat, DERBY-1387-6.zip,
> DERBY-1387-7.zip, DERBY-1387-8.zip, DERBY-1387-9.diff, DERBY-1387-9.stat,
> derbyjmx.patch, jmx.diff, jmx.stat, jmxFuncspec.html, Requirements for JMX
> Updated.html, Requirements for JMX.html, Requirements for JMX.zip
>
>
> This is a draft requirement specification for adding monitoring and
> management extensions to Apache Derby using JMX. The requirements document
> has been uploaded on JIRA as well as the Derby Wiki page at
> http://wiki.apache.org/db-derby/_Requirement_Specifications_for_Monitoring_%26_Management_Extensions_using_JMX
> Developers and Users are requested to please look at the document (feature
> list in particular) and add their own rating to features by adding a coloumn
> to the table.
> Comments are welcome.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.