Validation of InjectionTargets prevents firing of ProcessInjectionTarget<X> for 
non-contextual EE components
------------------------------------------------------------------------------------------------------------

                 Key: WELD-790
                 URL: https://issues.jboss.org/browse/WELD-790
             Project: Weld
          Issue Type: Bug
          Components: Resolution (Typesafe and by Name)
    Affects Versions: 1.1.0.CR1
            Reporter: Sivakumar Thyagarajan
             Fix For: 1.1.0.Final


The eager validation of InjectionTargets introduced via [1] to fix WELD-761 
results in an issue when a container tries to fire ProcessInjectionTarget<T> 
events for injection into non-contextual Java EE components. When the container 
fires ProcessInjectionTarget events before Beans are deployed via 
bootstrap.deployBeans, the BDA processing is not complete and hence resolution 
fails during validation as shown below. The container also needs to fire these 
events before AfterBeanDiscovery as pointed at [2] and hence this eager 
validation is an issue.

-- Error with a local integration of GF3.1 trunk and WELD 1.1.0.CR1 ----
[#|2010-12-14T14:31:10.044+0530|SEVERE|glassfish3.1|javax.enterprise.system.tools.admin.org.glassfish.deployment.admin|_ThreadID=109;_ThreadName=admin-thread-pool-4848(1);|Exception
 while loading the app : WELD-001408 Unsatisfied dependencies for type 
[TestBean] with qualifiers [...@default] at injection point [[field] @Inject 
TestServlet.tb]
org.jboss.weld.exceptions.DeploymentException: WELD-001408 Unsatisfied 
dependencies for type [TestBean] with qualifiers [...@default] at injection 
point [[field] @Inject TestServlet.tb]
    at 
org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:305)
    at 
org.jboss.weld.manager.SimpleInjectionTarget.<init>(SimpleInjectionTarget.java:107)
    at 
org.jboss.weld.manager.BeanManagerImpl.createInjectionTarget(BeanManagerImpl.java:1032)
    at 
org.jboss.weld.manager.BeanManagerImpl.fireProcessInjectionTarget(BeanManagerImpl.java:1220)
    at 
org.glassfish.weld.WeldDeployer.fireProcessInjectionTargetEvents(WeldDeployer.java:237)
    at org.glassfish.weld.WeldDeployer.event(WeldDeployer.java:161)
    at org.glassfish.kernel.event.EventsImpl.send(EventsImpl.java:128)
    at 
org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:266)
    at 
com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:459)
    at 
com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
    at 
org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:369) 
-- Error with a local integration of GF3.1 trunk and WELD 1.1.0.CR1 ----

[1] https://github.com/weld/core/commit/eb0f2020ee8e79ff04fe8d929837b0bedf80b19b
[2] 
http://java.net/jira/browse/GLASSFISH-11135?focusedCommentId=130738&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_130738


-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        
_______________________________________________
weld-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/weld-issues

Reply via email to