[
https://issues.jboss.org/browse/CDI-136?page=com.atlassian.jira.plugin.sy...
]
Pete Muir commented on CDI-136:
-------------------------------
Personally, I have no idea why we impose this additional rule for SFSBs, it seems to stray
into specifying how EJBs actually work. I would prefer to remove this, making the
paragraph say:
{quote}
For every bean which declares a passivating scope, the container must validate that the
bean truly is passivation capable and that, in addition, its dependencies are passivation
capable.
{quote}
This then removes any special case for EJBs and restricts the checks to those that make
sense for CDI itself. If EJB wishes to introduce additional checks for SFSBs then they are
free to do so.
David, WDYT? AIUI this solves the problem you have raised, but perhaps I have missed
something?
Assumption all @Stateful beans should be passivation capable
------------------------------------------------------------
Key: CDI-136
URL:
https://issues.jboss.org/browse/CDI-136
Project: CDI Specification Issues
Issue Type: Bug
Components: Beans, Java EE integration
Affects Versions: 1.0
Reporter: David Blevins
Fix For: 1.1 (Proposed)
Stateful session beans in transactions can't be passivated and shouldn't have
passivation requirements either, like request scope.
Stateful beans can be any scope. They are the Bertie Bott's Every Flavor Beans of
EJB. It's too big of a brush to say that passivation is always required. That's
the part we need to fix.
Stateful session beans that do passivate are pretty rare. They should be assumed to be
@NormalScope unless otherwise specified.
The user should be able to say if they want passivation validation on their stateful bean
and dependencies.
We should at a minimum change the related language of the spec to be "For every bean
which declares a passivating scope, and for every stateful session bean ***that requires
passivation***, " and discuss how to determine that an SFSB requires passivation.
From the EJB perspective this has always been a container detail, but we could have a
rule in CDI that states the checks are not enforced unless the bean class explicitly
implements java.io.Serializable. Alternatively we could make a generic @PassivationScoped
annotation for other architectures that have flexible scopes and support passivation
concepts.
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira