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>
>