Cannot set subscription termination time if Subscribe was first called with
null time
-------------------------------------------------------------------------------------
Key: MUSE-237
URL: https://issues.apache.org/jira/browse/MUSE-237
Project: Muse
Issue Type: Bug
Environment: Muse 2.2.0, Eclipse 3.2.1
Reporter: Vinh Nguyen
Assignee: Dan Jemiolo
I initially subscribe with no expiration date. This means the subscription
lifetime is indefinite. But later, when I try to call the setTerminationTime()
to give the subscription a specific expiration date, I get the following error:
org.apache.muse.ws.addressing.soap.SoapFault: Timer already cancelled.
at
org.apache.muse.core.AbstractResourceClient.invoke(AbstractResourceClient.java:298)
at
com.cisco.nm.cmp.nbi.wsdm.client.core.SubscriptionClient.invoke(SubscriptionClient.java:126)
at
org.apache.muse.core.AbstractResourceClient.invoke(AbstractResourceClient.java:254)
at
org.apache.muse.ws.resource.remote.WsResourceClient.setTerminationTime(WsResourceClient.java:187)
The error is in SimpleScheduledTermination line #114.
The SimpleNotificationProducer.subscribe() is invoked by the client with a null
expiration date. This creates the SimpleScheduledTermination instance and
calls setTerminationTime(null), which cancels the internal timer. Later, when
setTerminationTime() is called with a valid date, the Timer throws an error
because a task is trying to be scheduled on it, but the timer already was
cancelled.
The simplest fix is to set a flag so that if the timer was initially cancelled,
reinstantiate it when it's used again. The flag can be set in
SimpleScheduledTermination time. Or better, create it in
org.apache.muse.util.Timer so that you know if it was cancelled, and check this
flag in SimpleScheduledTermination.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]