Hi, I just found some strange behavior of the method stopProviding() on
DBScheduleProvider. If I call this piece of code
ObjectName mbean = new ObjectName("jboss:service=PortalDBScheduleProvider");
|
| MBeanServer server = MBeanServerLocator.locateJBoss();
| server.invoke(mbean, "stopProviding", new Object[0], new String[0]);
| server.invoke(mbean, "startProviding", new Object[0], new String[0]);
|
it works without problems for the first time, but if it's called more times,
then it throws following exceptions
2007-09-19 16:02:48,500 ERROR [search.IndexServlet] Timer configuration from
web administration failed.:class javax.management.RuntimeMBeanException:null
| 2007-09-19 16:02:48,515 ERROR [STDERR]
javax.management.RuntimeMBeanException
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.jboss.mx.interceptor.ReflectedDispatcher.handleInvocationExceptions(ReflectedDispatcher.java:176)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:163)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
search.IndexServlet.doGet(IndexServlet.java:79)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
com.tecsidel.portal.system.web.filters.ConfigFilter.doFilter(ConfigFilter.java:25)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
java.lang.Thread.run(Thread.java:595)
| 2007-09-19 16:02:48,515 ERROR [STDERR] Caused by:
javax.management.RuntimeMBeanException
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.jboss.mx.interceptor.ReflectedDispatcher.handleInvocationExceptions(ReflectedDispatcher.java:176)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:163)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.jboss.varia.scheduler.AbstractScheduleProvider.removeSchedule(AbstractScheduleProvider.java:163)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.jboss.varia.scheduler.DBScheduleProvider.stopProviding(DBScheduleProvider.java:207)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
java.lang.reflect.Method.invoke(Method.java:585)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| 2007-09-19 16:02:48,515 ERROR [STDERR] ... 30 more
| 2007-09-19 16:02:48,515 ERROR [STDERR] Caused by:
java.lang.NullPointerException
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.jboss.varia.scheduler.ScheduleManager.removeSchedule(ScheduleManager.java:332)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
java.lang.reflect.Method.invoke(Method.java:585)
| 2007-09-19 16:02:48,515 ERROR [STDERR] at
org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| 2007-09-19 16:02:48,515 ERROR [STDERR] ... 41 more
When I looked on the source code of the stopProviding() method, I found that
the schedulers are removed from the ScheduleManager through the
removeSchedule() method, but they still stays in the list of schedulers inside
of the DBScheduleProvider. So if this method is than called again, it tries to
remove them again. And this ends with the NullPointerException shown above.
Whats wrong? The way I am using these methods or their behavior?
Thanks
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4086137#4086137
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4086137
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user