[JBoss JIRA] Created: (CDI-140) improve Serializable requirements for @Dependent scoped beans in 6.6.4
by Mark Struberg (JIRA)
improve Serializable requirements for @Dependent scoped beans in 6.6.4
----------------------------------------------------------------------
Key: CDI-140
URL: https://issues.jboss.org/browse/CDI-140
Project: CDI Specification Issues
Issue Type: Clarification
Components: Resolution
Affects Versions: 1.0
Reporter: Mark Struberg
Fix For: 1.1 (Proposed)
Currently section 6.6.4 defines that @Dependent scoped beans which get injected into a bean of a passivating scope must be Serializable.
"If a producer method or field of scope @Dependent returns an unserializable object for injection into an injection point that requires a passivation capable dependency, the container must throw an Illegal- ProductException"
The question is how to interpret "that requires a passivation capable dependency".
It would e.g. be perfectly fine if the @Dependent bean is _not_ Serializable *if* the injectionpoint will be serialized via a writeObject or Externalizable#writeExternal.
Proposal: to explicitly add a check for Modifier.TRANSIENT and writeObject(ObjectOutputStream) and Externalizable#writeExternal(ObjectOutput)
This is very important for @Dependent scoped producers of legacy classes because there is otherwise no way to inject such classes at all.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 3 months
[JBoss JIRA] Created: (CDI-118) Standardize deployment-related exception classes
by Dan Allen (JIRA)
Standardize deployment-related exception classes
------------------------------------------------
Key: CDI-118
URL: https://issues.jboss.org/browse/CDI-118
Project: CDI Specification Issues
Issue Type: Feature Request
Components: Packaging and Deployment
Affects Versions: 1.0
Reporter: Dan Allen
Fix For: 1.1 (Proposed)
While it's true that deployment exceptions are not a public API when developing with the CDI programming model, they are a public API for tools and in testing environments. It would be useful to standardize the deployment-related error and exception classes so that these tools don't have to rely on classes from the implementation.
One example occurs in the CDI-TCK and it's counterpart, Arquillian. A test may want to verify that the code will result in a deployment error. Currently, to detect this exception, it's necessary to rely on an implementation specific exception class, which makes the test non-portable.
Another example is a tool that starts a CDI runtime or server that provides CDI. The tool has to check for the implementation-specific exception to know if the deployment error is caused by CDI (and to capture and report that error). It important both when CDI is used for standalone bootstrap and for a container that provides CDI.
Proposed APIs:
javax.enterprise.inject.DeploymentException extends RuntimeException
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 3 months
[JBoss JIRA] Created: (CDI-145) allow @Disposes methods also for producer fields
by Mark Struberg (JIRA)
allow @Disposes methods also for producer fields
------------------------------------------------
Key: CDI-145
URL: https://issues.jboss.org/browse/CDI-145
Project: CDI Specification Issues
Issue Type: Feature Request
Components: Beans, Concepts
Affects Versions: 1.0
Reporter: Mark Struberg
Fix For: 1.1 (Proposed)
The current wording of 3.3.7 only allowed disposal methods for producer methods. Producer fields are imo not covered by the wording and cannot get @Disposed
> 3.3.7. Disposer method resolution
> A disposer method is bound to a producer method if:
> • the producer method is declared by the same bean class as the
> disposer method, and
> • the producer method is assignable to the disposed parameter,
> according to the rules of typesafe resolution defined in Section 5.2,
> "Typesafe resolution" (using Section 5.2.3, "Assignability of raw and
> parameterized types").
We should change this and also allow the disposal of producer fields.
This is especially needed in the hindsight of 3.5 Resource fields which currently cannot get disposed.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 3 months
[JBoss JIRA] Created: (CDI-135) Request parameter for terminating cid propagation
by Nicklas Karlsson (JIRA)
Request parameter for terminating cid propagation
-------------------------------------------------
Key: CDI-135
URL: https://issues.jboss.org/browse/CDI-135
Project: CDI Specification Issues
Issue Type: Feature Request
Components: Contexts
Affects Versions: 1.0
Reporter: Nicklas Karlsson
The specification says the conversation id of non-transient conversations should be automatically propagated, it would however be handy to be able to stop this propagation on a per-component basis. If the request token (e.g. named "nocid") would be present, CDI would interpret this as if no cid was found in the request. This would enable users to jump from non-transient to non-transient conversations in one step (e.g. by using a commandLink with a f:param named nocid and an action that would start a new non-transient conversation.
A further enhancement could be that the parameter value could be "end" and CDI would terminate the propagated non-transient conversation instead of just abandoning it.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 3 months
[JBoss JIRA] Created: (CDI-119) Standard way to obtain a BeanManager regardless of environment
by Cloves Almeida (JIRA)
Standard way to obtain a BeanManager regardless of environment
--------------------------------------------------------------
Key: CDI-119
URL: https://issues.jboss.org/browse/CDI-119
Project: CDI Specification Issues
Issue Type: Feature Request
Reporter: Cloves Almeida
Priority: Minor
As an alternative to #CDI-117:
There should be a standard way to obtain a BeanManager instance regardless of environment. I propose a BeanManagerFactory that would implement the following resolution:
1) if in a JEE environment, use the JNDI resolution already proposed on spec
2) if in a non-JEE servlet container, use the servlet context attribute as proposed in #CDI-117
3) else, fallback on a "singleton" BeanManager
For extensability, one could override the resolution mechanism by providing his own BeanManagerResolver.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 3 months
[JBoss JIRA] Created: (CDI-133) Further clarify the notion of a decorated type
by Marius Bogoevici (JIRA)
Further clarify the notion of a decorated type
----------------------------------------------
Key: CDI-133
URL: https://issues.jboss.org/browse/CDI-133
Project: CDI Specification Issues
Issue Type: Clarification
Reporter: Marius Bogoevici
Priority: Optional
Essentially, remove the period between the first and second statement and use a single phrase instead:
{quote}
The set of decorated types of a decorator includes all bean types of the managed bean which are Java interfaces, except for <literal>java.io.Serializable</literal>. The decorator bean class and its superclasses are not decorated types of the decorator.
{quote}
This is a rather cosmetic change, but can improve the readability of the section.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 3 months