I've two private methdos on my SLSB, say A and B.
Both methods are annotated with @Timeout, return void, and take Timer as an argument.
Two public methods implemented by the interface are basically doing the same thing: according to which one has been called, the create a TimerInfo instance (a container class [POJO] that implements java.io.Serializable, carrying a "label" and an "element", both String), set this instance as Info when creating the timer. Of course, before I create one, I lookup if a timer with that label and that element already exists.
My client invokes the exposed method that should finish in having method A invoked.
I then set two breakpoints, one at the beginning of A, the other at the beginning of B.
When I debug my SLSB with a timer created with timerInfo set so that method A should be invoked, the breakpoint in A never gets active, but it the one in B! Of course, at the beginning of these private methods I check which timer is calling me and therefore do not execute the logic.
A workaround could be using @Timeout only on one method, and then call the A or B according to the TimerInfo set, sort of "deviator" method.
I enclose the sourcecode of my SLSB... I wonder what I've missed or completely got wrong about Timers.
Thanks
~pasquale