[seam-dev] Will Seam 3 be "batch" friendly, ie be able to minimally run outside any container?

denis.forveille at gmail.com denis.forveille at gmail.com
Mon Apr 5 22:58:51 EDT 2010


Are there plan to have a way to run a pure j2se+JPA+CDI+Weld application 
containing Seam 3 components?

In it's time, I have open this JIRA/feature request to add this feature 
to Seam 2:  https://jira.jboss.org/jira/browse/JBSEAM-1680

Most of our applications have a need to run "batch" processes that run 
outside a container, ie process thousand of "items" during off peak 
hours (ie at night), but share many of the business logic and the JPA 
model. Our applications are designed to isolated "shared" business logic 
(ie batch+web) in a separate module and use only "Application Scope" 
Seam 2 components

Currently we use some kind of "JUnit" techniques to boostrap our apps, 
ie manual bootstratp of the JPA data source (Hibernate), manual control 
of the transaction boundaries and manually injecting Application Scope 
Component.
We have written a kind of "SeamTest" class that scans all of our 
components that may be called by the batch process and inject the base 
objects (logguer, other managers, EM etc..).
Something thatwe currently miss is to reuse the PDF and Excel components 
as they depends on facelets/JSF and cannot easily run outside some kind 
of container...

I don't have a deep knowledge of CDI and Weld, but it seem those should 
help for this. The questions remains for Seam 3.
Is there some interest for this? The first thing could be to define the 
specs and limits of what can be done and what cannot (Define the 
authorized scopes, the way the EM ans transactions are managed, what 
"modules" (I18N, PDF etc ) can be used. Of course anything related to 
web woule not be allowed (Security, "pages.xml/navigation", etc..), and  
maybe define some kind of "SeamBatch" class that would take care of all 
the Seam components, and maybe add some batch specific annotations (or 
non-container specific)  for transaction boundaries

Thx



More information about the seam-dev mailing list