I'm finally getting back to the JMX work and trying to provide some
useful feedback. Sanket, are you still around and available to work on
this?
Here are the comments I have after my initial attempts to build and run
the JMX service in Derby
- You had mentioned you were going to remove the dependencies on the
commons-modeler framework. That seems good if it's not too much work,
but it can wait for another revision, maybe we should get this working
and checked in first...
- We need unit tests for this. But again that can be a separate patch
after we get this initial one checked in.
- In your patch, each of the new files repeats the contents twice and it
won't build until you manually clean up the files
- As Andreas mentioned, we need to be able to build Derby with JDK 1.4
even with the JMX stuff in there. You need to fix build.xml to
conditionally
- Please modify BUILDING.txt to indicate that you need the JMX extension
jar to build Derby. See the existing paragraphs for other dependencies
for examples on how to do this
- After doing ant buildjars, when I tried the following command in
jars/sane:
java -Dderby.jmx=true -jar derbyrun.jar server start
I got the following exception. I think it's because the JMX stuff is
not being correctly added to the jar files. How have you tested your
JMX functionality?
ERROR XBM02: Startup failed due to missing functionality for
org.apache.derby.iapi.services.mbeans.ManagementService. Please ensure
your classpath includes the correct Derby software.
at
org.apache.derby.iapi.error.StandardException.newException(StandardException.java:305)
at
org.apache.derby.iapi.services.monitor.Monitor.missingImplementation(Monitor.java:656)
at
org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:283)
at
org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:587)
at
org.apache.derby.iapi.services.monitor.Monitor.startSystemModule(Monitor.java:366)
at
org.apache.derby.impl.services.monitor.BaseMonitor.runWithState(BaseMonitor.java:408)
at
org.apache.derby.impl.services.monitor.FileMonitor.<init>(FileMonitor.java:68)
[...etc...]
That's all I have for this go-round, if we can get it to run then I'll
do some more testing...
David