Hi Frank,
you can add your Mbeans at following file
=== $catalina.base/conf/tomca5-mbeans.xml ==
<bean>
<mbean name="Bean:type=Bean"
code="test.MyBean">
<attribute name="name" value="Peter"/>
</mbean>
<jmx-operation objectName="Bean:type=Bean" operation="show"/>
<mbean name="Bean:type=Bean2" code="test.MyBean"/>
<jmx-operation objectName="Bean:type=Bean2"
operation="setAll">
<arg type="java.lang.String" value="Willy"/>
<arg type="java.lang.String">Go to water</arg>
</jmx-operation>
<jmx-operation objectName="Bean:type=Bean2" operation="show"/>
</bean>
===
The Engine element at server.xml can load those MBean instance
declaration.
<Server ...>
...
<Engine name="Catalina"
mbeansFile="${catalina.base}/conf/tomcat5-mbeans.xml"
defaultHost="localhost"
jvmRoute="node01" >
...
If you implement a init(),start()/stop(),destroy() method your MBeans
also notified from
Engine Lifecycle :-)
Install your MBean Code at common or server classLoader.
=== common/classes/test/MyBean.java ====
package test;
public class MyBean implements MyBeanMBean {
private String name ;
public String getName() { return name ; }
public void setName(String name) { this.name = name ;
System.out.println(name) ;}
private String street ;
public String getStreet() { return street ; }
public void setStreet(String street) { this.street = street ;
System.out.println(street) ; }
public void show() { System.out.println(name + "--" + street) ; }
public void setAll(String name , String street) {
this.name = name ;
this.street = street ;
}
}
===
=== common/classes/test/MyBeanMBean.java ====
package test;
public interface MyBeanMBean {
public String getName() ;
public void setName(String name) ;
public String getStreet() ;
public void setStreet(String street) ;
public void show() ;
public void setAll(String name , String street);
}
====
I test the example with tomcat 5.5.25.
I am hasn't tested with tomcat 6, but the insourced modeler code
seems also working!
Regards
Peter
Look at my old fixed issue : http://issues.apache.org/jira/browse/
MODELER-17
But I am not sure that that patch at 2.0.1 is complete ( jmx-
attribute element not exists)
Am 09.01.2008 um 17:25 schrieb Frank Z:
Hi Peter,
Thanks for sending the link. I guess what my real question was:
how would I get TC to 'declaratively' instantiate my MBeans ?
From the example, most of them has a main() method to instantiate
and register the MBeans to the platform MBean Server. What would
you recommend for TC , a servlet that loads on startup and within
the init method it would create and register the MBeans?
I am porting my MBeans from JBoss (embedding TC) and JBoss provides
a declarative method do so without the needs of a servlet. It is
done by creating a service archive (e.g. myservice.sar -
containing a jboss-service.xml [similar to mbeans-descriptor.xml]
that declares the MBeans). The JBoss container would then
instantiate the MBeans via the MBean's start() method.
public class Main {
public static void main(String[] args) throws Exception {
MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
ObjectName name = new ObjectName
("com.example.mbeans:type=Hello");
Hello mbean = new Hello();
mbs.registerMBean(mbean, name);
System.out.println("Waiting forever...");
Thread.sleep(Long.MAX_VALUE);
}
}
Thanks
Frank.
----- Original Message ----
From: Peter Rossbach <[EMAIL PROTECTED]>
To: Tomcat Users List <users@tomcat.apache.org>
Sent: Wednesday, January 9, 2008 1:20:10 AM
Subject: Re: looking for sample MBean code for tomcat 6
Please read this:
http://java.sun.com/developer/technicalArticles/J2SE/jmx.html
http://java.sun.com/j2se/1.5.0/docs/guide/jmx/tutorial/
tutorialTOC.html
Peter
Am 09.01.2008 um 08:03 schrieb Frank Z:
hello,
I am looking some sample MBean code for TC 6.0.. I was able to
model some code after the source code (e.g.
MemoryUserDatabaseMBean.java in the org.apache.catalina.users.
package) .
I was also able to create the mbeans-descriptor.xml
One question that I have is that even though the code compiled and
deployed TC, i am not able to see my custom MBean via JConsole .
Are there additional things needed to get the MBean registered
properly in TC?
Thanks in advance.
_____________________________________________________________________
_
______________
Looking for last minute shopping deals?
Find them fast with Yahoo! Search. http://tools.search.yahoo.com/
newsearch/category.php?category=shopping
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
______________________________________________________________________
______________
Never miss a thing. Make Yahoo your home page.
http://www.yahoo.com/r/hs
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]