On 11/15/06, Bernd Fondermann <[EMAIL PROTECTED]> wrote:
You want to get MX4J running under J1.5 and explicitly don't want the native JVM MBeanServer to be started, right?
Yep, because I want to enable the MX4J HTTP adapter without changing James' code.
If yes, have you tried doing what is suggested under "Use James' built-in MBean server" on the wiki page you mentioned, without adding any other properties (especially without javax.management.builder.initial and com.sun.management.jmxremote.*)? This should work fine.
With the default configuration, James starts up just fine (though of course I don't get JMX). Enabling James' built-in MBeanServer (as described by the Wiki page) with RMI only, gives me this exception: java.lang.ClassNotFoundException: mx4j/tools/naming/NamingService at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:164) at com.sun.jmx.mbeanserver.MBeanInstantiatorImpl.loadClass(MBeanInstantiatorImpl.java:437) at com.sun.jmx.mbeanserver.MBeanInstantiatorImpl.findClass(MBeanInstantiatorImpl.java:72) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.createMBean(DefaultMBeanServerInterceptor.java:279) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.createMBean(DefaultMBeanServerInterceptor.java:227) at com.sun.jmx.mbeanserver.JmxMBeanServer.createMBean(JmxMBeanServer.java:463) at org.apache.avalon.phoenix.components.manager.MX4JSystemManager.startRMIAdaptor(MX4JSystemManager.java:248) at org.apache.avalon.phoenix.components.manager.MX4JSystemManager.initialize(MX4JSystemManager.java:167) at org.apache.avalon.framework.container.ContainerUtil.initialize(ContainerUtil.java:244) at org.apache.avalon.phoenix.components.embeddor.DefaultEmbeddor.setupComponent(DefaultEmbeddor.java:575) at org.apache.avalon.phoenix.components.embeddor.DefaultEmbeddor.setupComponents(DefaultEmbeddor.java:551) at org.apache.avalon.phoenix.components.embeddor.DefaultEmbeddor.initialize(DefaultEmbeddor.java:244) at org.apache.avalon.framework.container.ContainerUtil.initialize(ContainerUtil.java:244) at org.apache.avalon.phoenix.frontends.CLIMain.startup(CLIMain.java:234) at org.apache.avalon.phoenix.frontends.CLIMain.execute(CLIMain.java:162) at org.apache.avalon.phoenix.frontends.CLIMain.main(CLIMain.java:145) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.avalon.phoenix.launcher.Main.startup(Main.java:128) at org.apache.avalon.phoenix.launcher.Main.main(Main.java:83) This is on a freshly downloaded binary James 2.3.0 release with only the kernel.xml edited as directed in the mentioned Wiki page ("Use James' built-in MBean server"). The interesting thing is that I can see mx4j-tools.jar in both lib and bin/lib so it ought to be in the classpath, right ? And both jars are ok (contain the class mentioned in the exception) and are readable and have the correct permissions and all.
If no, and you are ready to go without using MX4J, please follow suggestions from "Use existing MBeans server". In case I got your intentions wrong, please follow up with more info about what you want to achieve.
Well, I don't really care about MX4J, but I do want to be able to see the JMX info via HTTP which I think is something that the Java 5 default JMX server cannot do unless the MX4J http adaptor is registered with it in code, right ? cheers, TYom --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]