]
Pete Muir updated JBSEAM-1680:
------------------------------
Component/s: Core
Have a way to "bootsrap" the seam engine for batch
processes
------------------------------------------------------------
Key: JBSEAM-1680
URL:
http://jira.jboss.com/jira/browse/JBSEAM-1680
Project: JBoss Seam
Issue Type: Feature Request
Components: Core
Affects Versions: 1.2.1.GA, 2.0.0.BETA1
Reporter: Denis Forveille
It should be possible to write a "pure" batch processes that uses seam
components. Seam should provide a way to "bootstrap" the "seam engine"
outside any web/jee container to allow programmers to reuse seam components outside a war,
typically from a standard "main" method, run with a standard j2se class.
Typical scenario/usage for this:
- an online application build around seam, POJOs and hibernate.
- the business seam components ("managers" + "model" classes) are
isolated into a separate jar file (common.jar)
- the "view controllers", which are seam components (aka "backing
beans") are directly held into the war module
- the war module uses the business components held into the common.jar module.
- a batch process, which is standard j2se class with a main method, performs some
business process by calling the "business" seam components defined in the
common.jar file.
The high-level algorithm of this "batch" process is the following
- bootstrap the seam engine
- for each business item to process (maybe tens of thousand or more...):
- begin transaction
- do some business stuff by calling the seam components in common.jar that read/update
the database
- commit
- shutdown the seam engine
For this, we need a class or harness to "boostrap" the seam engine. This
harness should not depends on any of the services provided by a typical web/ jee
container, this includes:
- naming/jndi
- security
- jsf/jsp/facelets
- ...etc
The harness should be able to manage injection/bijection of user defined components and
also to provide the injection of some non-web dependent object like the hibernate session
and the logger. Of course none of the "web" functions are required (Conversation
managment, @DataModel etc...)
At a minimun, this harness should be able to handle the @Name, @In, @Out, @Create,
@Destroy, @Factory, @Transactional, @Logger annotations
Big Thanks...
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: