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>

Reply via email to