+1 on the definition error Emily suggests. Especially since transient will
cause exceptions random hard to reproduce exceptions at runtime.
Unproxiable Type due to non private final methods and the like will be
encountered as soon as some tries to use it during development. In so far
its different, since the transient will only cause a problem when
passivatable scopes are deserialized, which is unlikely during development
and even if it occurs it will be probably be considered as development
glitch.
Also in my experience implementation specific warnings and the like cause
more confusions then anything else. Also in the context in of the
application server the console warnings will be lost in the flood of
startup outputs.
On Thu, 21 Jul 2016 at 11:12 Emily Jiang <EMIJIANG(a)uk.ibm.com> wrote:
As Stephen points out if the "when normal scoped injects are
marked
transient", it will fail at runtime anyway. I am kind of thinking to
throw a definition error when injection field marks as 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(a)uk.ibm.com
Lotus Notes: Emily Jiang/UK/IBM@IBMGB
From: Tomas Remes <tremes(a)redhat.com>
To: Emily Jiang/UK/IBM@IBMGB,
Cc: cdi-dev(a)lists.jboss.org
Date: 21/07/2016 07:13
Subject: Re: [cdi-dev] CDI-616 Injection point declared as
transient is not useful
Sent by: cdi-dev-bounces(a)lists.jboss.org
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(a)uk.ibm.com>
To: "Martin Kouba" <mkouba(a)redhat.com>
Cc: cdi-dev(a)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(a)uk.ibm.com
Lotus Notes: Emily Jiang/UK/IBM@IBMGB
From: Martin Kouba <mkouba(a)redhat.com>
To: cdi-dev(a)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(a)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(a)uk.ibm.com
> < mailto:EMIJIANG@uk.ibm.com <EMIJIANG(a)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(a)uk.ibm.com < mailto:emijiang@uk.ibm.com
<emijiang(a)uk.ibm.com> >
> Lotus Notes: Emily Jiang/UK/IBM@IBMGB
>
>
>
>
> From: Stephan Knitelius <stephan(a)knitelius.com
> < mailto:stephan@knitelius.com <stephan(a)knitelius.com> >>
> To: cdi-dev <cdi-dev(a)lists.jboss.org
> < mailto:cdi-dev@lists.jboss.org <cdi-dev(a)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(a)lists.jboss.org
> < mailto:cdi-dev-bounces@lists.jboss.org
<cdi-dev-bounces(a)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(a)lists.jboss.org < mailto:cdi-dev@lists.jboss.org
<cdi-dev(a)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(a)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(a)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(a)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.
_______________________________________________
cdi-dev mailing list
cdi-dev(a)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(a)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.