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]

Reply via email to