On Oct 24, 2008, at 3:52 AM, Alex Grönholm wrote:

David Blevins kirjoitti:
Additionally, I followed standard rules for annotation inheritance in that overriding a method in a subclass causes the annotations associated with that method to be "whipped away" unless redeclared in the overridden method. This matches the rules for all the callback methods (@PostConstruct, @PreDestroy, @AroundInvoke, @PrePassivate, @PostActivate).

Had those annotations been meant to be inherited, they would have been marked with @java.lang.annotation.Inherited.

I don't think that works for methods. But, right, the annotation data is not "inherited" by the overriding method.

One little caveat of doing it this way is that ScheduleExpression does not encapsulate all the data that is present in @Schedule, namely it isn't possible to specify 'persistence' or 'info'. For the first iteration we can go without persistence. But perhaps there should in fact be a 'public boolean persistent' field in ScheduleExpression.

that would duplicate functionality in TimerConfig, which allows one to specify both persistence status and info.

Thanks, I missed that class. In which case we'll want to wrap both the ScheduleExpression and TimerConfig in an object and return both from the DeploymentInfo.getMethodSchedule(..) method.

I'll hack something up on that.


-David

Reply via email to