[jboss-user] [EJB 3.0 Users] - MBean with Scheduler: IllegalArgumentException

myklynysh do-not-reply at jboss.com
Tue Dec 1 09:05:50 EST 2009


Hello,

I want to create a MBean or stateless SessionBean, what has an method that should be called periodical e.g. every 10 second. I founded an example with modifying of  scheduler-service.xml and created an interface and a MBean.
@Local
  | public interface TestExampleMBean extends ServiceMBean {
  | 
  |     public void hitTest(int param);
  |   
  | }
@Stateless
  | public class TestExample extends ServiceMBeanSupport implements TestExampleMBean {
  | 
  |     public TestExample() {
  |         super();
  |     }
  |    
  |     public void hitTest(int param) {
  |         log.info("hitTest");
  |     }
  | 
  |     //..other methodes
  | }
  | 
scheduler-service.xml has following code
   <mbean code="cosee.reporting.service.example.TestExample"
  |           name=":name=TestExample">
  |    </mbean>
  | 
  |    <mbean code="org.jboss.varia.scheduler.Scheduler"
  |           name=":service=Scheduler,name=TestExample">
  | 
  |       <attribute name="StartAtStartup">true</attribute>
  |       <attribute name="SchedulableMBean">:name=TestExample</attribute>
  |        <attribute name="SchedulableMBeanMethod">hitTest(int)</attribute>
  | 
  |     <attribute name="InitialStartDate">NOW</attribute>
  |       <attribute name="SchedulePeriod">10000</attribute>
  |       <attribute name="InitialRepetitions">3</attribute>
  |       <attribute name="FixedRate">true</attribute>
  |     </mbean>

I deploy my application and while scheduling calls of the method IllegalArgumentException is being thrown every time.
I checked the parameter, the parameter types should be correct.
Stake trace looks so:
14:37:03,102 ERROR [Scheduler$BaseListener] Invoke failed for :name=TestExample hitTest
  | javax.management.ReflectionException
  |     at org.jboss.mx.interceptor.ReflectedDispatcher.handleInvocationExceptions(ReflectedDispatcher.java:189)
  |     at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:165)
  |     at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
  |     at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
  |     at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
  |     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
  |     at org.jboss.varia.scheduler.Scheduler$MBeanListener.invoke(Scheduler.java:1316)
  |     at org.jboss.varia.scheduler.Scheduler$BaseListener.handleNotification(Scheduler.java:1235)
  |     at sun.reflect.GeneratedMethodAccessor204.invoke(Unknown Source)
  |     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     at java.lang.reflect.Method.invoke(Method.java:597)
  |     at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)
  |     at $Proxy215.handleNotification(Unknown Source)
  |     at javax.management.NotificationBroadcasterSupport.handleNotification(NotificationBroadcasterSupport.java:257)
  |     at javax.management.NotificationBroadcasterSupport$SendNotifJob.run(NotificationBroadcasterSupport.java:322)
  |     at javax.management.NotificationBroadcasterSupport$1.execute(NotificationBroadcasterSupport.java:307)
  |     at javax.management.NotificationBroadcasterSupport.sendNotification(NotificationBroadcasterSupport.java:229)
  |     at org.jboss.mx.timer.JBossTimer.sendNotifications(JBossTimer.java:500)
  |     at org.jboss.mx.timer.JBossTimer.access$100(JBossTimer.java:63)
  |     at org.jboss.mx.timer.JBossTimer$RegisteredNotification.doRun(JBossTimer.java:662)
  |     at org.jboss.mx.util.SchedulableRunnable.run(SchedulableRunnable.java:181)
  |     at org.jboss.util.timeout.TimeoutFactory$TimeoutTargetImpl.timedOut(TimeoutFactory.java:299)
  |     at org.jboss.util.timeout.TimeoutFactory$TimeoutWorker.run(TimeoutFactory.java:271)
  |     at org.jboss.util.threadpool.RunnableTaskWrapper.run(RunnableTaskWrapper.java:147)
  |     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
  |     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
  |     at java.lang.Thread.run(Thread.java:619)
  | Caused by: java.lang.IllegalArgumentException
  |     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:597)
  |     at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
  |     ... 25 more

I don't really know, what I do wrong.
Thanks for your help
myklynysh

View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4268307#4268307

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4268307



More information about the jboss-user mailing list