Хорошо, мое решение в конце было таким:
@Service(objectName = "scheduler.test:service=CommonSchedulerTimer")
@Remote(Scheduler.class)
public class SchedulerTimerBean implements Scheduler, SchedulerManagement {
@Timeout
public void timeoutHandler(Timer timer) {
Что это:
- Сессионный компонент без сохранения состояния
- Таймер Бин
- MBean
Что не зависит от поставщика:
Но я не нашел независимого от поставщика способа доступа к ejb из отдельного MBean. Проблема была в порядке инициализации bean-компонентов, я не мог настроить, что MBean должен быть загружен после EJB чистым способом.