Я пытаюсь создать событие расписания, используя аннотацию EJB 3.1 @Schedule. Все работает нормально, пока у меня есть аннотация внутри моего компонента. Поскольку я хочу иметь возможность изменять расписание во время развертывания без переупаковки уха, я хочу добавить эту аннотацию с помощью АОП. Но это не работает.
Вот мой образец bean-компонента:
@AspectDomain(value = "TimerBeanDomain")
@Singleton
public class TimerBean {
public void timerMethod() {
System.out.println("Timer method activated");
}
}
Вот мой файл aop.xml (упакованный вне -ejb.jar):
<?xml version="1.0" encoding="UTF-8"?>
<aop xmlns="urn:jboss:aop-beans:1.0">
<domain name="TimerBeanDomain">
<annotation expr="method(void *->timerMethod(..))">
@javax.ejb.Schedule(second = "*/30", minute = "*", hour = "*")
</annotation>
</domain>
</aop>
Бин упакован внутри -ejb.jar, а файл aop находится вне этого -ejb.jar.
В консоли ошибок нет. Это просто не работает.
Я пробовал это и с bean-компонентом без гражданства. Но это не помогает. В этом случае aop.xml выглядел так
<domain name="TimerBeanDomain" extends="Stateless Bean" inheritBindings="true">
Я использую Jboss 6.0.1 и 6.1.0. По крайней мере, есть ли способ отладить процесс добавления аннотации АОП?
Любая помощь будет оценена.
С уважением, Эман