[webbeans-dev] CDI Quartz Extension and SE Example
Peter Royle
howardmoon at screamingcoder.com
Thu Jun 25 06:37:46 EDT 2009
OK will do. I'm just implementing the stuff below and cleaning up a
bit first. Got a 24hr flight ahead of me so should be able to get a
lot done - if I'm not rendered a zombie :).
On 19/06/2009, at 7:12 PM, Pete Muir wrote:
> How about putting this in Seam sandbox/modules for now?
>
> Talk to Dan Allen offline about the structure for the code (but
> basically it is like webbeans-extensions).
>
> Also, ping me and I'll sort out the SVN permissions.
>
> On 28 May 2009, at 22:45, Peter Royle wrote:
>
>> Hi,
>>
>> I know you're all really busy right now with the spec updates, but
>> I've got a new extension for possible inclusion into WebBeans, plus
>> a new example app for SE which uses it.
>>
>> == Quartz Extension ==
>>
>> WebBeans-Quartz.zip
>>
>> The extension is a Quartz extension. It basically fires events
>> @Every Second, @Every Minute and @Every Hour, which can be observed
>> like so:
>>
>> public void updateSomething(@Observes @Every Hour hour) { // blah }
>>
>> On startup the extension first checks for the presence of observers
>> for each type of event and if there are no observers for a
>> particular type of event, no events will be scheduled.
>>
>> I intend to extend it by:
>> 1) introducing a way to define arbitrary schedules (in annotations
>> or in a properties file which is then referenced by name in an
>> annotation - which can then be made typesafe by subclassing the
>> annotation). Eg:
>>
>> package org.jboss.webbeans.extension.scheduler;
>> public @interface Scheduled {
>> String name();
>> }
>> -----------
>> public @interface AfterHours extends Scheduled{
>> String name() default "afterHours";
>> }
>> -----------
>> schedule.properties:
>> afterHours=0 1 * * * *
>> -----------
>> public void batchProcess(@Observes @AfterHours Schedule
>> schedule) { ... }
>>
>> 2) Adding whatever is necessary to make this usable in EE
>> environment. Any pointers?
>>
>> 3) Any other suggestions?
>>
>> == Memory Graph Example ==
>>
>> MemoryGrapher.zip
>>
>> This is another Swing based example, which renders a graph of the
>> VM's free memory, updating every second and calling garbage
>> collection every minute using the above extension. It's a nice
>> concise example of how to bootstrap and shutdown SE, how to observe
>> events and how to use the injectable logger. Plus everyone loves a
>> pretty graph!
>>
>> I know there is some obvious clean up work required, and maybe
>> removing the name Quartz (?) - which I'm happy to do prior to
>> checking in.
>>
>> What do you think?
>>
>>
>> Pete.
>>
>>
>>
>>
>> _______________________________________________
>> webbeans-dev mailing list
>> webbeans-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/webbeans-dev
>
More information about the weld-dev
mailing list