[
https://issues.jboss.org/browse/WFLY-3632?page=com.atlassian.jira.plugin....
]
Alexander Langer updated WFLY-3632:
-----------------------------------
Attachment: CDIMultiModuleTest.zip
Sorry, the attached test project did not compile due to an unknown parent. Please use
this fixed version.
I also was able to reproduce the error on Ubuntu 14.04 with OpenJDK Runtime Environment
(IcedTea 2.4.7) (7u55-2.4.7-1ubuntu1)
@Inject broken for parameterized interfaces
-------------------------------------------
Key: WFLY-3632
URL:
https://issues.jboss.org/browse/WFLY-3632
Project: WildFly
Issue Type: Bug
Security Level: Public(Everyone can see)
Environment: Wildfly 8.1.0Final (tested on MacOS X 10.9.3)
Reporter: Alexander Langer
Assignee: Jason Greene
Attachments: CDIMultiModuleTest.zip, CDIMultiModuleTest.zip
@Inject is broken on Wildfly 8.1.0 Final when the interface to be injected is
parameterized with a type that extends another type. Example code:
{code}
public interface Foo<T extends Serializable> { } // will fail
public class FooBean implements Foo { }
public interface Bar<T> { } // will work
public class BarBean implements Bar { }
@Singleton
@Startup
public class TestSingleton {
@Inject
private Instance<Foo> foo;
@Inject
private Instance<Bar> bar;
@PostConstruct
public void init() {
System.out.println("##### foo is unsatisfied = " +
foo.isUnsatisfied());
for (Foo f : foo)
System.out.println("foo is: " + f.getClass().getCanonicalName());
System.out.println("##### bar is unsatisfied = " +
bar.isUnsatisfied());
for (Bar b : bar)
System.out.println("bar is: " + b.getClass().getCanonicalName());
}
}
{code}
output:
{code}
22:30:25,904 INFO [stdout] (ServerService Thread Pool -- 50) ##### foo is unsatisfied =
true
22:30:25,905 INFO [stdout] (ServerService Thread Pool -- 50) ##### bar is unsatisfied =
false
{code}
The same code works on JBoss AS 7.1.1, so something must have changed for Wildfly.
The attached small example project can be used to reproduce the error.
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)