[webbeans-dev] CDI Quartz Extension and SE Example

Pete Muir pmuir at redhat.com
Fri Jun 19 14:12:21 EDT 2009


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