Hi, Interesting that this did not pop up before. Could one of you please create a Jira issue for that?
Cheers, Arne Von: "John D. Ament" <[email protected]<mailto:[email protected]>> Antworten an: "[email protected]<mailto:[email protected]>" <[email protected]<mailto:[email protected]>> Datum: Montag, 12. November 2012 12:58 An: "[email protected]<mailto:[email protected]>" <[email protected]<mailto:[email protected]>> Betreff: Re: Producer method default name Hi At this point I'm going to let the OWB team provide feedback. I was able to reproduce your problem with a simple Arquillian test. @RunWith(Arquillian.class) public class FooTest { @Deployment public static Archive<?> createTestArchive() { return ShrinkWrap.create(JavaArchive.class).addClass(FooMaker.class) .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml"); } @Inject @Named("foo") private String foo; @Test public void testFoo() { Assert.assertEquals("bobo", foo); } } I tried the following producers, only the last worked (OWB not using method name or JavaBeans naming conventions) @Produces @Named public String getFoo() { return "bobo"; } @Produces @Named public String foo() { return "bobo"; } @Produces @Named("foo") public String foo() { return "bobo"; } John On Mon, Nov 12, 2012 at 6:27 AM, Harald Wellmann <[email protected]<mailto:[email protected]>> wrote: I'm slightly confused... See CDI Spec 1.0, section 3.3.8: "The default name for a producer method is the method name, unless the method follows the JavaBeans property getter naming convention, in which case the default name is the JavaBeans property name." In my case, the producer method is called "foo()", which is not a getter, so the bean name should be "foo". (And this is what I get with Weld.) What is the default name generated by OWB in this case? Best regards, Harald 2012/11/12 John D. Ament <[email protected]<mailto:[email protected]>>: > That is expected behavior. @Named uses javabean naming conventions to pick > the default name. > > On Nov 12, 2012 5:05 AM, "Harald Wellmann" > <[email protected]<mailto:[email protected]>> wrote: >> >> I have a producer method >> >> @Produces @Named >> public String foo() { ... } >> >> and a matching injection point >> >> @Inject @Named("foo") >> private String foo; >> >> in some other bean. >> >> With OWB 1.1.6, injection fails, unless @Named("foo") is explicitly >> added to the producer method. Is this a known issue? >> >> Best regards, >> Harald
