[JBoss JIRA] (CDI-355) Disconnect between other specs and CDI with regard to when Interceptors and decorators are run
by Joseph Snyder (JIRA)
[ https://issues.jboss.org/browse/CDI-355?page=com.atlassian.jira.plugin.sy... ]
Joseph Snyder commented on CDI-355:
-----------------------------------
Pete, does this mean that interceptors will run for non-contextual instances?
> Disconnect between other specs and CDI with regard to when Interceptors and decorators are run
> ----------------------------------------------------------------------------------------------
>
> Key: CDI-355
> URL: https://issues.jboss.org/browse/CDI-355
> Project: CDI Specification Issues
> Issue Type: Bug
> Affects Versions: 1.1.PFD
> Reporter: Joe Bergmark
> Assignee: Pete Muir
> Fix For: 1.1.FD
>
>
> Other specifications have text that appears to assume interceptors will run for non-contextual instances.
> The PDF (and CDI 1.0 for that matter) list the following rules to be considered a business method:
> 7.2
> Container invocations and interception [biz_method]
> When the application invokes:
> • a method of a bean via a contextual reference to the bean, as defined in Section 6.5.3, or
> • a business method of a session bean via an EJB remote or local reference,
> and then say:
> If, and only if, an invocation is a business method invocation:
> • it passes through method interceptors and decorators, and
> • in the case of a session bean, it is subject to EJB services such as declarative transaction management, concurrency, security
> and asynchronicity, as defined by the EJB specification.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 9 months
[JBoss JIRA] (CDI-357) @Stateless and @Singleton session beans are no longer passivation capable dependencies
by Joe Bergmark (JIRA)
[ https://issues.jboss.org/browse/CDI-357?page=com.atlassian.jira.plugin.sy... ]
Joe Bergmark commented on CDI-357:
----------------------------------
I think the risk is that this change is not backwards compatible.
In other words could there be an app that deployed successfully following the CDI 1.0 rules, but will now not deploy successfully because EJBs will not always be treated as passivation capable so injecting one into a passivating scope bean could lead to a deployment error?
> @Stateless and @Singleton session beans are no longer passivation capable dependencies
> --------------------------------------------------------------------------------------
>
> Key: CDI-357
> URL: https://issues.jboss.org/browse/CDI-357
> Project: CDI Specification Issues
> Issue Type: Bug
> Components: Beans
> Affects Versions: 1.1.PFD
> Reporter: Jozef Hartinger
> Assignee: Pete Muir
> Priority: Blocker
> Fix For: 1.1.FD
>
>
> This is a regression since 1.0
> CDI 1.0:
> {quote}all session beans are passivation capable dependencies{quote}
> CDI 1.1:
> {quote}all passivation capable beans with scope @Dependent are passivation capable dependencies{quote}
> and
> {quote}As defined by the EJB specification, stateless and singleton session beans are not passivation capable{quote}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 9 months
[JBoss JIRA] (CDI-356) Constructor-level interceptor bindings not considered
by Pete Muir (JIRA)
[ https://issues.jboss.org/browse/CDI-356?page=com.atlassian.jira.plugin.sy... ]
Pete Muir commented on CDI-356:
-------------------------------
I'll handle this as part of the interceptors spec update that has been issued for this problem.
> Constructor-level interceptor bindings not considered
> -----------------------------------------------------
>
> Key: CDI-356
> URL: https://issues.jboss.org/browse/CDI-356
> Project: CDI Specification Issues
> Issue Type: Bug
> Components: Interceptors
> Affects Versions: 1.1.PFD
> Reporter: Jozef Hartinger
> Assignee: Pete Muir
> Priority: Blocker
> Fix For: 1.1.FD
>
>
> For example:
> {quote}
> If an interceptor for lifecycle callbacks declares an interceptor binding type that not defined @Target(TYPE), the container
> automatically detects the problem and treats it as a definition error.
> {quote}
> An interceptor that declares an @AroundConstruct interceptor method is an interceptor for a lifecycle callback yet it makes sense to define the binding as @Target(CONSTRUCTOR).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 9 months
[JBoss JIRA] (CDI-355) Disconnect between other specs and CDI with regard to when Interceptors and decorators are run
by Pete Muir (JIRA)
[ https://issues.jboss.org/browse/CDI-355?page=com.atlassian.jira.plugin.sy... ]
Pete Muir resolved CDI-355.
---------------------------
Assignee: Pete Muir
Resolution: Done
Thanks, fixed :-)
> Disconnect between other specs and CDI with regard to when Interceptors and decorators are run
> ----------------------------------------------------------------------------------------------
>
> Key: CDI-355
> URL: https://issues.jboss.org/browse/CDI-355
> Project: CDI Specification Issues
> Issue Type: Bug
> Affects Versions: 1.1.PFD
> Reporter: Joe Bergmark
> Assignee: Pete Muir
> Fix For: 1.1.FD
>
>
> Other specifications have text that appears to assume interceptors will run for non-contextual instances.
> The PDF (and CDI 1.0 for that matter) list the following rules to be considered a business method:
> 7.2
> Container invocations and interception [biz_method]
> When the application invokes:
> • a method of a bean via a contextual reference to the bean, as defined in Section 6.5.3, or
> • a business method of a session bean via an EJB remote or local reference,
> and then say:
> If, and only if, an invocation is a business method invocation:
> • it passes through method interceptors and decorators, and
> • in the case of a session bean, it is subject to EJB services such as declarative transaction management, concurrency, security
> and asynchronicity, as defined by the EJB specification.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 9 months
[JBoss JIRA] (CDI-357) @Stateless and @Singleton session beans are no longer passivation capable dependencies
by Pete Muir (JIRA)
[ https://issues.jboss.org/browse/CDI-357?page=com.atlassian.jira.plugin.sy... ]
Pete Muir resolved CDI-357.
---------------------------
Resolution: Rejected
This is correct, there is no real reason to guarantee that all session beans are passivation capable.
> @Stateless and @Singleton session beans are no longer passivation capable dependencies
> --------------------------------------------------------------------------------------
>
> Key: CDI-357
> URL: https://issues.jboss.org/browse/CDI-357
> Project: CDI Specification Issues
> Issue Type: Bug
> Components: Beans
> Affects Versions: 1.1.PFD
> Reporter: Jozef Hartinger
> Assignee: Pete Muir
> Priority: Blocker
> Fix For: 1.1.FD
>
>
> This is a regression since 1.0
> CDI 1.0:
> {quote}all session beans are passivation capable dependencies{quote}
> CDI 1.1:
> {quote}all passivation capable beans with scope @Dependent are passivation capable dependencies{quote}
> and
> {quote}As defined by the EJB specification, stateless and singleton session beans are not passivation capable{quote}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 9 months
[JBoss JIRA] (CDI-227) BeanManager#resolve() is underspecified for corner cases
by Pete Muir (JIRA)
[ https://issues.jboss.org/browse/CDI-227?page=com.atlassian.jira.plugin.sy... ]
Pete Muir resolved CDI-227.
---------------------------
Resolution: Done
Done, thanks
> BeanManager#resolve() is underspecified for corner cases
> --------------------------------------------------------
>
> Key: CDI-227
> URL: https://issues.jboss.org/browse/CDI-227
> Project: CDI Specification Issues
> Issue Type: Bug
> Components: Java SE Integration, Packaging and Deployment
> Affects Versions: 1.0, 1.1.EDR
> Reporter: Guy Veraghtert
> Assignee: Pete Muir
> Priority: Blocker
> Labels: patch
> Fix For: 1.1.FD
>
>
> The CDI api's are mainly used to develop (portable) extensions. In practice, we see that those so called _portable_ extensions are not portable at all due to underspecified api's.
> For example BeanManager.resolve(set) doesn't specify how to deal with an empty set or null. This leads to incompatible implementations and unportable extensions. See for example https://issues.apache.org/jira/browse/OWB-625 (Unfortunately Websphere 8 includes openwebbeans < 1.1.3, making Seam3 not out-of-the-box usable). Currently most implementations (weld, owb and candi) return null for an empty set. OWB returns null when null is passed, others will throw an exception.
> To create extensions that are truly portable, we should specify all corner cases (what about BeanManager.getBean((String)null)?). In theory developers should not depend on undefined behavior, but in practice we all do (Seam3 is full of examples).
> Ideally, we should go over the complete public API and specify what should happen with these corner cases: null-values, empty collections, ...
> Just adding that an IllegalArgumentException should be thrown in case of null for example would suffice.
> These things are very easy to incorporate in the TCK and would contribute a lot to the success of portable extensions
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 9 months