hehe, that's a point of view ;)

you have another alternative: use xml to configure your @Schedule only on
the activated EJB. Not perfect since you'll configure it "twice" (once for
the timer, once for the CDI bean) but it works.

*Romain Manni-Bucau*
*Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
*Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
*LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
*Github: https://github.com/rmannibucau*



2013/7/22 Reinis Vicups <[email protected]>

> Ok that is what I was afraid about.
>
> And, Romain, it is not normal - it is due to still missing alignment
> between cdi and ejb :D
>
> For those of you reading this question some times later: the "hack" I will
> make is to have only one EJB (facade) and in that EJB inject @Default or
> @Alternative implementation based on beans.xml config.
>
> br
> reinis
>
>
> On 22.07.2013 10:07, Romain Manni-Bucau wrote:
>
>> Hi,
>>
>> @Schedule is an EJB feature not a CDI one so @Alternative is not used here
>> (so it sounds normal for me).
>>
>> *Romain Manni-Bucau*
>> *Twitter: @rmannibucau 
>> <https://twitter.com/**rmannibucau<https://twitter.com/rmannibucau>
>> >*
>> *Blog: 
>> **http://rmannibucau.**wordpress.com/*<http://rmannibucau.wordpress.com/*>
>> <http://**rmannibucau.wordpress.com/ <http://rmannibucau.wordpress.com/>>
>> *LinkedIn: 
>> **http://fr.linkedin.com/in/**rmannibucau*<http://fr.linkedin.com/in/rmannibucau*>
>> *Github: https://github.com/**rmannibucau*<https://github.com/rmannibucau*>
>>
>>
>>
>> 2013/7/22 Reinis Vicups <[email protected]>
>>
>>  Hi,
>>>
>>> I have two implementations of some SchedulerWorkerManager:
>>>
>>> //ALTERNATIVE!
>>> @Startup @Singleton @TransactionAttribute(****
>>> TransactionAttributeType.NOT_*
>>>
>>> *SUPPORTED) @Lock(LockType.READ) @Alternative
>>> public class AzureSchedulerWorkerManager implements
>>> SchedulerWorkerManager
>>> {
>>>      @Override
>>>      @Schedule(second = "*/20", minute = "*", hour = "*", info = "Every
>>> 20
>>> seconds")
>>>      @Lock(LockType.WRITE)
>>>      public void manageSchedulerWorkers() {}
>>> }
>>>
>>> AND
>>>
>>> //DEFAULT!
>>> @Startup @Singleton @TransactionAttribute(****
>>> TransactionAttributeType.NOT_*
>>>
>>> *SUPPORTED) @Lock(LockType.READ) @Default
>>> public class BasicSchedulerWorkerManager implements
>>> SchedulerWorkerManager
>>> {
>>>      @Override
>>>      @Schedule(second = "*/5", minute = "*", hour = "*", info = "Every 5
>>> seconds")
>>>      @Lock(LockType.WRITE)
>>>      public void manageSchedulerWorkers() {}
>>> }
>>>
>>> I just noticed that despite AzureSchedulerWorkerManager is annotated as
>>> being @Alternative it is still "ticking".
>>>
>>> Thank you, guys, for hints on how to configure them both properly.
>>>
>>> br
>>> reinis
>>>
>>>
>

Reply via email to