[cdi-dev] Getting injection point from Bean#create

Romain Manni-Bucau rmannibucau at gmail.com
Fri Nov 21 04:12:16 EST 2014

@Jozef: InjectionPoint ip = getBean(InjectionPoint.class); doesn't
mean anything in the absolute. So why should it be allowed?

Romain Manni-Bucau

2014-11-21 9:57 GMT+01:00 Jozef Hartinger <jharting at redhat.com>:
> The workaround is very ugly. Instead of going that path OWB should be fixed
> to support the simple way.
> On 11/20/2014 11:22 PM, arjan tijms wrote:
>> Hi,
>> On Thu, Nov 20, 2014 at 11:07 PM, Romain Manni-Bucau
>> <rmannibucau at gmail.com> wrote:
>>> Not sure what it means actually. InjectionPoint is highly contextual so
>>> having an exception (not a npe of course) would make sense to me.
>>> Bean#create is a "you know what you do" from my understanding since
>>> interceptors/decorators are not supported for instance so it shouldnt
>>> rely
>>> of things like that, no?
>> Sure, no interceptor/decorators, but the injection point -is- there of
>> course. I can see it being set in OWB as a special property on the
>> creational context if I walk down the stack trace in a debugger when
>> my Bean#create method is being called. An injection point is something
>> that implementations of Bean could always need, for instance to
>> retrieve the name of the field into which injection is taking place.
>> Of course, it being a "you know what you do", it's okay that it's not
>> as simple as having it injected into the Bean, and that some extra
>> code is needed to obtain it. As long as there is at least -a- way to
>> get hold of it.
>> The method I posted in the openings post does in fact work, but it
>> feels slightly hacky. If that's an acceptable way to get the injection
>> point, then so be it. But just wondering if it's not something that
>> works by chance and may break later.
>> Kind regards,
>> Arjan
>> _______________________________________________
>> 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