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

Reply via email to