I want to have a scheduled job run once every hour, the scheduled job is defined in EJB 3.0 stateless session bean (the bean class is annotated with @Stateless). I am restricted to EJB 3.0 so I cannot use @Singleton/@Schedule. The issue is that @PostConstruct annotated method to initialize the timer defined in that EJB 3.0 session bean is never called.
My timer method that is supposed to run once every hour is annotated with @Timeout in the stateless session bean.
Reading other questions it says in EJB 3.0, session beans are lazily created, ie. unless the bean is called from code outside the bean class, PostConstruct annotated method is never called. How do I call the bean from outside the bean and make sure I call only one time when the Tomee EJB container is deployed?
The bean just runs a method once every hour. There is no need to call any method in the bean either locally or remotely.