(no commit message)
[utils] / mythtv / timer / src / main / java / org / wamblee / timer / TimerBean.java
index b7ee2bf3da0eb4818c0033a65630092b283deb46..048e94b55041575f0815b12a699b01758d49ad1b 100644 (file)
@@ -21,6 +21,10 @@ import javax.ejb.MessageDriven;
 import javax.ejb.Timeout;
 import javax.ejb.Timer;
 import javax.ejb.TimerService;
+import javax.ejb.TransactionAttribute;
+import javax.ejb.TransactionAttributeType;
+import javax.ejb.TransactionManagement;
+import javax.ejb.TransactionManagementType;
 import javax.jms.JMSException;
 import javax.jms.Message;
 import javax.jms.MessageListener;
@@ -35,7 +39,10 @@ import org.wamblee.io.DirectoryMonitor;
 /**
  * 
  */
-@MessageDriven(mappedName = "jms/MythtvTimer")
+@MessageDriven(name = "TimerBean")
+// Spring's JTA transaction manager does not work with container managed transactions
+// because it uses the UserTransaction object which glassfish forbids.
+@TransactionManagement(TransactionManagementType.BEAN)
 public class TimerBean implements MessageListener {
     
     private static final Log LOG = LogFactory.getLog(TimerBean.class);
@@ -52,7 +59,7 @@ public class TimerBean implements MessageListener {
         try {
             int interval = (Integer)msg.getObject();
             LOG.info("Initializing timer with interval " + interval + " seconds");
-            _timerService.createTimer(interval*1000, interval*1000, null);
+            _timerService.createTimer(1000, interval*1000, null);
         } catch (JMSException e) {
             throw new RuntimeException(e.getMessage());
         }
@@ -60,7 +67,7 @@ public class TimerBean implements MessageListener {
   
     @Timeout
     private void timeout(Timer aTimer) {
-        LOG.debug("Timer expired!!!");
+        LOG.info("Timer expired!!!");
         try {
             DirectoryMonitor monitor = BeanKernel.getBeanFactory().find(
                     DirectoryMonitor.class);