[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
Tue Apr 6 20:13:45 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 
Components.
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 that we 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