MonitorAdmin - Unregistration of Monitorable causes IllegalArgumentException in 
MonitoringJob
---------------------------------------------------------------------------------------------

                 Key: FELIX-811
                 URL: https://issues.apache.org/jira/browse/FELIX-811
             Project: Felix
          Issue Type: Bug
          Components: Sandbox
            Reporter: Martin Thelian


If a Monitorable service is unregistered from the framework but there is still 
a scheduled MonitorJob monitoring StatusVariables of the unregistered 
Monitorable, an IllegalArgumentException is thrown in the MonitoringJobImpl and 
the whole MonitoringJob thread dies.

The stracktrace:
------------
|> Exception in thread "Thread-24" java.lang.IllegalArgumentException: no such 
monitorable service for this pid
|>         at 
org.apache.felix.sandbox.monitor.MonitorAdminImpl$MonitorAdminProxy.getStatusVariable(MonitorAdminImpl.java:322)
|>         at 
org.apache.felix.sandbox.monitor.MonitorAdminImpl$MonitoringJobImpl$MyRunnable.run(MonitorAdminImpl.java:142)
|>         at java.lang.Thread.run(Thread.java:595)
------------

The OSGi spec defines the following:
   "Whether a monitoring job keeps track dynamically of the StatusVariables it
   monitors is not specified. This means that if we monitor a StatusVariable of
   a Monitorable service which disappears and later reappears then it is imple-
   mentation specific whether we still receive updates of the StatusVariable
   changes or not."

>From my point of view the MonitoringJob should just ignore disappeared 
>variables and should continue to monitor all other variables.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to