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

Reply via email to