diff --git a/src/main/java/com/commafeed/backend/feeds/FeedRefreshTaskGiver.java b/src/main/java/com/commafeed/backend/feeds/FeedRefreshTaskGiver.java index 326df6f8..70558f38 100644 --- a/src/main/java/com/commafeed/backend/feeds/FeedRefreshTaskGiver.java +++ b/src/main/java/com/commafeed/backend/feeds/FeedRefreshTaskGiver.java @@ -37,6 +37,13 @@ public class FeedRefreshTaskGiver { .getBackgroundThreads(); } + @Lock(LockType.WRITE) + public void add(Feed feed) { + queue.add(feed); + feed.setLastUpdated(Calendar.getInstance().getTime()); + feedDAO.update(feed); + } + @Lock(LockType.WRITE) public Feed take() { Feed feed = queue.poll(); diff --git a/src/main/java/com/commafeed/backend/services/FeedSubscriptionService.java b/src/main/java/com/commafeed/backend/services/FeedSubscriptionService.java index 6a25b661..57ea80d5 100644 --- a/src/main/java/com/commafeed/backend/services/FeedSubscriptionService.java +++ b/src/main/java/com/commafeed/backend/services/FeedSubscriptionService.java @@ -8,6 +8,7 @@ import javax.inject.Inject; import com.commafeed.backend.dao.FeedEntryDAO; import com.commafeed.backend.dao.FeedEntryStatusDAO; import com.commafeed.backend.dao.FeedSubscriptionDAO; +import com.commafeed.backend.feeds.FeedRefreshTaskGiver; import com.commafeed.backend.model.Feed; import com.commafeed.backend.model.FeedCategory; import com.commafeed.backend.model.FeedEntry; @@ -30,6 +31,8 @@ public class FeedSubscriptionService { @Inject FeedSubscriptionDAO feedSubscriptionDAO; + + @Inject FeedRefreshTaskGiver taskGiver; public Feed subscribe(User user, String url, String title, FeedCategory category) { @@ -60,6 +63,7 @@ public class FeedSubscriptionService { } feedEntryStatusDAO.save(statuses); } + taskGiver.add(feed); return feed; } }