[prev in list] [next in list] [prev in thread] [next in thread] 

List:       muse-dev
Subject:    [jira] Commented: (MUSE-237) Cannot set subscription termination
From:       "Vinh Nguyen (JIRA)" <jira () apache ! org>
Date:       2007-06-13 23:43:26
Message-ID: 9360425.1181778206091.JavaMail.jira () brutus
[Download RAW message or body]


    [ https://issues.apache.org/jira/browse/MUSE-237?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12504476 \
] 

Vinh Nguyen commented on MUSE-237:
----------------------------------

Another possible fix is to initially have the Timer set to null.  Then in \
setTerminationTime(), do this: // If time is null, just return it.
// Else, if the timer task wasn't initialized, make a new one.
// Else, stop the current timer task and make a new one.

You'd also have to update getTerminationTime() and shutdown() to check for a null \
Timer before calling methods on it.

> 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: muse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-dev-help@ws.apache.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic