----- Original Message -----
From: "Peter Antman" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, December 06, 2000 11:53 PM
Subject: Re: [jBoss-User] Timer Mbean - how to get at it


>
> Thanks,
>
> On  6 Dec, Andy "Mad" Schaefer wrote:
> > Hi
> >
> > Yes, I know that I already promissed to create a HowTo on the time
> > issue but I didn't got the time.
> > But for short there's the way (I assume that you are in the same JVM
> > as jBoss is running):
> > - Add a <MLET> tag to jBoss.conf loading "javax.management.timer.Timer"
> > - Get a reference to the MBeanServer. If you are in a MBean then you
> >    get it for free (during pre or post registration) otherwise you have
it
> >    to get it from JNDI or through MBeanFactory.getMBeanServer() ).
>
>
> What is the JNDI name?
Sorry, but the JMX Connector on the server-side is registered on the JNDI
server to make him accessible over the network (like a person in the phone
directory). Have a look at the org.jboss.jmx.server.RMIConnector (I think)
to finds its JNDI name.

> > - Get the ObjectInstance through the MBeanServer like:
> >    Set lBeans = lBeanServer.queryMBeans(
> >         new ObjectName( "DefaultDomain", "service", "timer" ),
> >         null
> >     );
> >     if( !lBeans.isEmpty() ) {
> >         ObjectInstance lTimerBean = (ObjectInstance)
> > lBeans.iterator().next();
> > - use addNotification() on the Timer to set what you are interested in:
> >     lBeanServer.invoke( lTimerBean.getObjectName(), "addNotification",
> >         new Object[] { <List of parameters see JavaDoc> },
> >         new String[] { <List of parameters data type> }
> >     );
> > - add yourself as a Notification Listener:
> >     lBeanServer.addNotificationListener(
> >         lTimerBean.getObjectName(), <your listener instance>
> >     );
> >
>
>
> Here is an alternative (at least it seems to work for mee):
>
>
>
> 1. Ad listeners:
>
>
> MBeanServer server = (MBeanServer) MBeanServerFactory.
>                                   findMBeanServer(null).iterator().next();
>
>
> server.addNotificationListener(new ObjectName("Timer:service=Timer"),
>        listener,
>        filter,
>        o);
>
> 2. Add stuff to time:
>
> timer =
(TimerMBean)MBeanProxy.create(TimerMBean.class,"Timer:service=Timer");
> timer.addNotification("test", "testing",
>   null, new java.util.Date(new java.util.Date().
>                                      getTime() +Timer.ONE_MINUTE  )
>                                         );
>
>
> With MLET set to:
> <MLET CODE = "javax.management.timer.Timer" ARCHIVE="jmxri.jar"
NAME="Timer:serv
> ice=Timer" CODEBASE="../../lib/">
> </MLET>
>
> //Peter
I think that will work as well. Andy




--
--------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
Problems?:           [EMAIL PROTECTED]

Reply via email to