Hello, in my Project I use a ServletContextListener to execute Code after the Application is deployed. I have a interface “StartListener” with a single Metod, void onStart(), and all classes that implement this interface are injected in my ServletContextListener with @Inject @All. In a Loop I execute the onStart() Method of every StartListener.
It works as expected. In my Sample Project I have 3 classes (StartListenerImpl1 – StartListenerImpl3) that implement the interface and just log their name. So if I deploy the Application I see in the log: Now I add another class SpecialStartListenerImpl that extends StartListenerImpl1. I annotate it with @Specializes overwrite the onStart() Method to log SpecialStartListenerImpl and deploy the application. What I expect to see in the log: What is in the logs if I deploy the application to Tomee 1.6 StartListenerImpl2 and StartListenerImpl3 were not instantiate and not injected in the ServletContextListener. @Specializes did not only deactivate StartListenerImpl1 but also StartListenerImpl2 and StartListenerImpl3. This is of course not what I wanted. If I deploy the same application on Glassfish 4.0 I get what I expect: Is this a OpenWebBeans Issue? Should I create a Bugreport? I attached my demo project as example. Webmodul.zip <http://openejb.979440.n4.nabble.com/file/n4665967/Webmodul.zip> -- View this message in context: http://openejb.979440.n4.nabble.com/Weird-Behavior-with-Specializes-and-Inject-Any-tp4665967.html Sent from the OpenEJB User mailing list archive at Nabble.com.
