[cdi-dev] CDI-616 Injection point declared as transient is not useful
Tomas Remes
tremes at redhat.com
Thu Jul 21 02:12:10 EDT 2016
As you said. If we introduce definition error for this it won't be backward compatible so warning could be sufficient I think and therefore (maybe) I wouldn't solve this at specification level but only at implementation level. That's my current feeling.
Tom
----- Original Message -----
From: "Emily Jiang" <EMIJIANG at uk.ibm.com>
To: "Martin Kouba" <mkouba at redhat.com>
Cc: cdi-dev at lists.jboss.org
Sent: Wednesday, July 20, 2016 5:43:59 PM
Subject: Re: [cdi-dev] CDI-616 Injection point declared as transient is not useful
I prefer to classify a definition error if when normal scoped injects are marked transient as I agree logging an error or warning are implementation details.
I am still struggling to find user case for "non-normal scoped injects are marked transient".
If it is not useful and problematic, why don't we just declare a Definition Error if an injection field defined transient? Easy and straightforward. Thoughts?
Many thanks,
Emily
===========================
Emily Jiang
WebSphere Application Server, CDI Development Lead
MP 211, DE3A20, Winchester, Hampshire, England, SO21 2JN
Phone: +44 (0)1962 816278 Internal: 246278
Email: emijiang at uk.ibm.com
Lotus Notes: Emily Jiang/UK/IBM at IBMGB
From: Martin Kouba <mkouba at redhat.com>
To: cdi-dev at lists.jboss.org,
Date: 20/07/2016 15:38
Subject: Re: [cdi-dev] CDI-616 Injection point declared as transient is not useful
Sent by: cdi-dev-bounces at lists.jboss.org
Do you suggest to log an ERROR message or to treat it as a definition error?
Altough I don't have any real use case, I'm not so sure this should be a
definition error. It reminds me unproxyable types with non-private final
methods (CDI-527) - right now it is a definition error (and I think it's
good) but the EG decided to change this, although it could result in
runtime errors (and both Weld and OWB allow to relax this restriction).
As to WARNING - the spec currently does not define anything like logging
or logging levels. IIRC the only mention is in 10.5. Observer notification:
"If the observer method is a transactional observer method, any
exception is caught and logged by the container."
And I believe we should not introduce logging levels in the spec.
Martin
Dne 19.7.2016 v 12:52 Stephan Knitelius napsal(a):
> Yes it will cause start up issues for applications which define
> transient normal scoped injections, however these Apps currently have
> runtime issues after dezieralization of passivatable scoped bean.
>
> Trading an easily fixable start-up issue for a hard to reproduce runtime
> issue seems like a good trade off to me.
>
> Stephan
>
>
>
>
>
> On Tue, 19 Jul 2016 at 12:12 Emily Jiang <EMIJIANG at uk.ibm.com
> < mailto:EMIJIANG at uk.ibm.com >> wrote:
>
> If we define an error, we will introduce a backward compatibility
> issue. Some app will stop starting. Will this cause a big problem?
> If this is not a concern, +1 on defining a DefinitionError on this
> case: ERROR - when normal scoped injects are marked transient.and a
> warning on WARNING - when non-normal scoped injects are marked
> transient.
>
> Many thanks,
> Emily
> ===========================
> Emily Jiang
> WebSphere Application Server, CDI Development Lead
>
> MP 211, DE3A20, Winchester, Hampshire, England, SO21 2JN
> Phone: +44 (0)1962 816278 Internal: 246278
>
> Email: emijiang at uk.ibm.com < mailto:emijiang at uk.ibm.com >
> Lotus Notes: Emily Jiang/UK/IBM at IBMGB
>
>
>
>
> From: Stephan Knitelius <stephan at knitelius.com
> < mailto:stephan at knitelius.com >>
> To: cdi-dev <cdi-dev at lists.jboss.org
> < mailto:cdi-dev at lists.jboss.org >>,
> Date: 19/07/2016 08:26
> Subject: [cdi-dev] CDI-616 Injection point declared as
> transient is not useful
> Sent by: cdi-dev-bounces at lists.jboss.org
> < mailto:cdi-dev-bounces at lists.jboss.org >
> ------------------------------------------------------------------------
>
>
>
> Hi,
>
> I frequently encounter injections marked transient in client
> projects. I really think it would be of great help if we where to
> define Error/Warning when injection fields are marked transient.
>
> As Mark pointed out there may be a valid use cases for non
> normal-scoped bean injections to be made transient.
>
> My suggestion is:
>
> * ERROR - when normal scoped injects are marked transient.
>
> *
> * WARNING - when non-normal scoped injects are marked transient.
>
> Looking forward to your feedback.
>
> *
> * Stephan_______________________________________________
> cdi-dev mailing list
> cdi-dev at lists.jboss.org < mailto:cdi-dev at lists.jboss.org >
> https://lists.jboss.org/mailman/listinfo/cdi-dev
>
> Note that for all code provided on this list, the provider
> licenses the code under the Apache License, Version 2
> ( http://www.apache.org/licenses/LICENSE-2.0.html ). For all other
> ideas provided on this list, the provider waives all patent and
> other intellectual property rights inherent in such information.
>
> Unless stated otherwise above:
> IBM United Kingdom Limited - Registered in England and Wales
> with number 741598.
> Registered office: PO Box 41, North Harbour, Portsmouth,
> Hampshire PO6 3AU
>
>
>
> _______________________________________________
> cdi-dev mailing list
> cdi-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/cdi-dev
>
> Note that for all code provided on this list, the provider licenses the code under the Apache License, Version 2 ( http://www.apache.org/licenses/LICENSE-2.0.html ). For all other ideas provided on this list, the provider waives all patent and other intellectual property rights inherent in such information.
>
--
Martin Kouba
Software Engineer
Red Hat, Czech Republic
_______________________________________________
cdi-dev mailing list
cdi-dev at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/cdi-dev
Note that for all code provided on this list, the provider licenses the code under the Apache License, Version 2 ( http://www.apache.org/licenses/LICENSE-2.0.html ). For all other ideas provided on this list, the provider waives all patent and other intellectual property rights inherent in such information.
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
_______________________________________________
cdi-dev mailing list
cdi-dev at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/cdi-dev
Note that for all code provided on this list, the provider licenses the code under the Apache License, Version 2 (http://www.apache.org/licenses/LICENSE-2.0.html). For all other ideas provided on this list, the provider waives all patent and other intellectual property rights inherent in such information.
More information about the cdi-dev
mailing list