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