[webbeans-dev] CDI Quartz Extension and SE Example

Peter Royle howardmoon at screamingcoder.com
Wed Jul 22 10:36:30 EDT 2009


OK it's ready to go, up to date with the latest ri.

Dan, what's the best option for discussing the code structure? If you  
want to take a look at it, you can download it from here:

http://screamingcoder.com/projects/plebeians/WBScheduling.tgz

The MemoryGrapher is the example usage project. Run it using 'mvn - 
Drun=true install' .

Cheers,

Pete.


On 20/06/2009, at 4:12 AM, 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