diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2013-04-11 19:12:27 +0200 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2013-04-11 19:12:27 +0200 |
commit | b59f08bb5b08be7972086037ec54b23ea9fb49f8 (patch) | |
tree | ef168ed7da2aa9fe8766a0d1625aa40e36a8ad99 /src/main/java/io/trygvis/UpdateArticeCallable.java | |
parent | cd99d57cccb88ea8a058eca530d62a81a665983c (diff) | |
download | quartz-based-queue-b59f08bb5b08be7972086037ec54b23ea9fb49f8.tar.gz quartz-based-queue-b59f08bb5b08be7972086037ec54b23ea9fb49f8.tar.bz2 quartz-based-queue-b59f08bb5b08be7972086037ec54b23ea9fb49f8.tar.xz quartz-based-queue-b59f08bb5b08be7972086037ec54b23ea9fb49f8.zip |
wip
Diffstat (limited to 'src/main/java/io/trygvis/UpdateArticeCallable.java')
-rwxr-xr-x | src/main/java/io/trygvis/UpdateArticeCallable.java | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/main/java/io/trygvis/UpdateArticeCallable.java b/src/main/java/io/trygvis/UpdateArticeCallable.java new file mode 100755 index 0000000..d022655 --- /dev/null +++ b/src/main/java/io/trygvis/UpdateArticeCallable.java @@ -0,0 +1,43 @@ +package io.trygvis; + +import io.trygvis.model.*; +import io.trygvis.queue.*; +import org.slf4j.*; +import org.springframework.stereotype.*; +import org.springframework.transaction.annotation.*; + +import java.util.*; +import javax.persistence.*; + +import static org.springframework.transaction.annotation.Propagation.*; + +@Component +public class UpdateArticeCallable implements AsyncService.AsyncCallable { + private final Logger log = LoggerFactory.getLogger(getClass()); + + private final Random r = new Random(); + + @PersistenceContext + private EntityManager entityManager; + +// @Transactional(propagation = REQUIRES_NEW) + public void run() throws Exception { + log.info("UpdateArticeJob.run: BEGIN"); + + Date now = new Date(); + + log.info("now = {}", now); + + TypedQuery<Article> q = entityManager.createQuery(entityManager.getCriteriaBuilder().createQuery(Article.class)); + + List<Article> list = q.getResultList(); + log.info("Got {} articles", list.size()); + + Article a = list.get(r.nextInt(list.size())); + a.setUpdated(new Date()); + + entityManager.persist(a); + + log.info("UpdateArticeJob.run: END"); + } +} |