The notification code use a wrong time to update the last notification time
---------------------------------------------------------------------------

                 Key: JUDDI-487
                 URL: https://issues.apache.org/jira/browse/JUDDI-487
             Project: jUDDI
          Issue Type: Bug
          Components: core
    Affects Versions: 3.0.2
            Reporter: ShengTao Dong
            Assignee: Kurt T Stam


The normal notification process is below: 
1. Setup a executing time, we assume it's 1:00:10 . 
2. Get the last notification time of the subscription, we assume it's 1:00:05. 
3. Get all change services between 1:00:05 -- 1:00:10. 
4. Notify these change services to client of this subscription. 
5. If it's success, set the subscription's last notification time to be 
'current time'. 

The problem is the step 5, the last notification is updated to be 'current 
time', not the 'executing time', but in step 2, juddi use the 'executing time' 
to be the end time of changed services. 

In some probability, the 'current time' is after 'executing time', then when 
next time notifying, the 'current time' will be used as start time at step 2, 
all changed services between 'current time' and 'executing time' will be lost 
to notify. 

So the suggestion is in the class: 
org.apache.juddi.subscription.SubscriptionNotifier
                    the method: notify

The code :
===================================
Date notificationDate = new Date();  
modelSubscription.setLastNotified(notificationDate);  //This is not right, this 
time should be the end time, otherwise we will lose some changes.
=================================== 
shoule be changed to be:

=======================================
modelSubscription.setLastNotified(endPoint);
=======================================


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to