On 29 Jun 2011, at 13:57, Mark Struberg wrote:
Hi!
Section 6.6.4 declares that:
> If a producer method declares a passivating scope and:
> ..
> * has a parameter that does not resolve to a passivation capable
> dependency,
> then the container automatically detects the problem and
> treats it as a deployment problem.
What is the reason for this restriction?
Not 100% sure. Any one else know?
Something like
@Produces @SessionScoped @AutoAuthenticated
public User getCurrentUser(EntityManager em) {
return ...
(EntityManager gets produced as @RequestScoped) would not be allowed because
EntityManager is not Serializable.
Actually as long as you use a resource producer field then the CDI container must make it
passivation capable ;-) But that just makes it a bad example, it doesn't solve the
problem.