You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by me...@slingshot.co.nz on 2003/09/17 01:41:09 UTC

MbeanException with realm defined within context

Hi.

I am using tomcat 4.1.27.  I have a context defined as shown below:

<Context path="/pweb" docBase="pweb" debug="0">
    <Realm className="com.silentone.phoenix.tomcat.PhoenixRealm"
     configFile="D:\Programs\jakarta-tomcat-4.1.2\conf\phoenixconfig.xml"/>
</Context>

I have created an mbeans-descriptor file for PhoenixRealm, which appears 
to be being read successfully:

eg
<mbeans-descriptors>
    <mbean name="PhoenixRealm"
               className="org.apache.catalina.mbeans.ClassNameMBean"
               description="PhoenixRealm"
               domain="Catalina"
               group="Realm"
               type="com.silentone.phoenix.tomcat.PhoenixRealm">
    <attribute   name="className"
          description="Fully qualified class name of the managed object"
                 type="java.lang.String"
            writeable="false"/>
    <attribute   name="configFile"
          description="Path of the config file"
                 type="java.lang.String"
            writeable="false"/>
    </mbean>
</mbeans-descriptors>

Upon starting tomcat however, I get the following error:

ServerLifecycleListener: createMBeans: MBeanException
javax.management.RuntimeOperationsException: nested exception is 
java.lang.IllegalArgumentException: ObjectName cannot be null or a pattern 
ObjectName
java.lang.IllegalArgumentException: ObjectName cannot be null or a pattern 
ObjectName
	at mx4j.server.MBeanServerImpl.register
(MBeanServerImpl.java:1111)
	at mx4j.server.MBeanServerImpl.registerImpl
(MBeanServerImpl.java:1054)
	at mx4j.server.MBeanServerImpl.registerMBeanImpl
(MBeanServerImpl.java:1002)
	at mx4j.server.MBeanServerImpl.registerMBean
(MBeanServerImpl.java:978)
	at org.apache.catalina.mbeans.MBeanUtils.createMBean
(MBeanUtils.java:650)
	at 
org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans
(ServerLifecycleListener.java:462)
	at 
org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans
(ServerLifecycleListener.java:728)
	at 
org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans
(ServerLifecycleListener.java:667)
	at 
org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans
(ServerLifecycleListener.java:860)
	at 
org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans
(ServerLifecycleListener.java:828)
	at 
org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans
(ServerLifecycleListener.java:372)
	at 
org.apache.catalina.mbeans.ServerLifecycleListener.lifecycleEvent
(ServerLifecycleListener.java:226)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent
(LifecycleSupport.java:166)
	at org.apache.catalina.core.StandardServer.start
(StandardServer.java:2183)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:512)
	at org.apache.catalina.startup.Catalina.execute
(Catalina.java:400)
	at org.apache.catalina.startup.Catalina.process
(Catalina.java:180)
	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:324)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:203)

If I define PhoenixRealm inside the Engine container everything seems to 
work fine, unfortunately there are other web applications being used on 
this server, that need to use different authentication methods. 

Any help would be greatly appreciated.

Cheers,

Rane.