Sorry Please find the exception at the following url https://drive.google.com/file/d/0B9j0dIS5bS0wYy1OOE5iaFNKaUU/view?usp=sharing
On Sat, Nov 1, 2014 at 10:20 PM, Romain Manni-Bucau <[email protected]> wrote: > Hi > > I dont see any attached file, can you gist or pastebin it? > Le 1 nov. 2014 21:23, "Radhakrishna Kalyan" <[email protected]> a écrit > : > > > > > > > Hi, > > > > Yesterday we had deployed our application in our production for the first > > time which was developed using OpenEJB standalone. > > But we got an exception after a while when we tried to perform certain > > operation. > > Please find the attached exception file. > > > > The application shall read certain data from a table(Invoice) in database > > and create an entry in an another table (BatchOrder). After that it shall > > create an xml message using that data > > and send to a jms queue. > > In the console log everything looks fine and the jms message has been > sent. > > In the console log the id of the newly created BatchOrder record is > > printed, but at the end when we check the database no record has been > > created in the table BatchOrder. > > > > The classes involved are 3: > > BatchManager > > BatchOrderDao > > OverdueBatchTimerService > > > > Here is the following code snippet of my application. > > > > > > > --------------------------------------------------------------------------------------------------------------------------- > > @Stateless > > public class BatchManager{ > > @EJB > > private BatchOrderDao batchOrderDao; > > > > @Asynchronous > > @Lock(LockType.READ) > > public void createBatchMessage(...){ > > ...Some code to read Invoice table... > > > > batchOrderDao.create(batchOrder); > > > > ...Some more code to send jms message... > > > > } > > } > > > > > > > --------------------------------------------------------------------------------------------------------------------------- > > @Stateless > > public class BatchOrderDao{ > > > > @PersistenceContext(unitName = "datasource") > > private EntityManager entityManager; > > > > public void create(BatchOrder entity){ > > entityManager.persist(entity); > > entityManager.flush(); > > } > > > > @SuppressWarnings("unchecked") > > public List<Long> findBatchesWithOverdueReceipts(final Date date) { > > final Criteria criteria = > > getSession().createCriteria(BatchOrder.class); > > > > > criteria.setProjection(Projections.distinct(Projections.property("iId"))); > > criteria.add(Restrictions.isNull("iAlarmed")); > > ....Some more Restrictions..... > > return criteria.list(); > > } > > > > } > > > > > > > --------------------------------------------------------------------------------------------------------------------------- > > @Entity > > @Cacheable > > @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) > > @Table(name = "BATCH_ORDER") > > public class BatchOrder { > > private static final long serialVersionUID = 1L; > > > > @Id > > @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = > "IdSeq") > > @SequenceGenerator(name = "IdSeq", sequenceName = "BOID_SEQ", > > allocationSize = 1) > > @Column(name = "BO_ID", unique = true, nullable = false, updatable = > > false) > > private Long iId; > > > > @Column(name = "BO_ALARMED", unique = false, nullable = true, updatable > > = true) > > private Date iAlarmed; > > > > .... Some more fields.... > > > > } > > > > > --------------------------------------------------------------------------------------------------------------------------- > > @Singleton > > @Startup > > @Lock(LockType.READ) > > private class OverdueBatchTimerService{ > > @Inject > > private BatchOrderDao dao; > > @Resource > > private TimerService timerService; > > private static final long _5MINUTES_IN_MILLISECONDS = 5l * 60l * > 1000l; > > > > @PostConstruct > > public void initialize() throws Exception { > > timerService.createSingleActionTimer(_5MINUTES_IN_MILLISECONDS, > > new TimerConfig()); > > } > > > > @Timeout > > public void onTimeout(final Timer timer) { > > try{ > > .. Some Code.... > > dao.findBatchesWithOverdueReceipts(time); > > .... Some more code.... > > } catch (final Exception ignore) { > > LOG.error("Some exception occured while excecuting onTimeout, > > but IGNORED.", ignore); > > } finally { > > > > timerService.createSingleActionTimer(_5MINUTES_IN_MILLISECONDS, new > > TimerConfig()); > > } > > } > > } > > > > > --------------------------------------------------------------------------------------------------------------------------- > > > > Please let me know if I am making any mistake. > > > > > > -- > > Thanks and Regards > > N Radhakrishna Kalyan > > > > P: +46 733 312 584 > > http://about.me/nrkkalyan > > <http://about.me/nrkkalyan> > > > -- Thanks and Regards N Radhakrishna Kalyan P: +46 733 312 584 http://about.me/nrkkalyan <http://about.me/nrkkalyan>
