[weld-issues] [JBoss JIRA] Commented: (WELD-836) WELD should try to resolve injection points in webapp's jar files

Ales Justin (JIRA) jira-events at lists.jboss.org
Sun Jan 23 19:06:49 EST 2011


    [ https://issues.jboss.org/browse/WELD-836?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12577339#comment-12577339 ] 

Ales Justin commented on WELD-836:
----------------------------------

As Stuart said, this should already work.
See WebAppBeanDeploymentArchive:

      URLScanner scanner = createScanner(servletContext);
      scanner.scanResources(new String[] { META_INF_BEANS_XML }, classes, urls);

and

   public void scanResources(String[] resources, Set<String> classes, Set<URL> urls)
   {
      Set<String> paths = new HashSet<String>();

      for (String resourceName : resources)
      {
         try
         {
            Enumeration<URL> urlEnum = classLoader.getResources(resourceName); <--- HERE

At HERE your "impl" module should be picked-up, if it had beans.xml in jar' META-INF.


> WELD should try to resolve injection points in webapp's jar files
> -----------------------------------------------------------------
>
>                 Key: WELD-836
>                 URL: https://issues.jboss.org/browse/WELD-836
>             Project: Weld
>          Issue Type: Feature Request
>            Reporter: Krzysztof Maslak
>         Attachments: WEB-INF_lib__jar_scanner.patch
>
>
> Having following example scenario:
> webapp.war
>    - /WEB-INF/lib/jar-with-some-nice-business-logic.jar - contains some injection points ( i.e. ICacheManager ) and using DefaultBean shipped with SeamSolder a default implementation ( as the injection points have to be satisfied )
>    - /WEB-INF/lib/caching-solution-provider.jar - provides CacheManagerImpl
>  
> Having this simple example I would like to have this injection point satisfied by this caching-solution-provider.jar. With such solution I would be able to change my caching-solution-provider.jar without any code modification just by changing dependency in pom.xml for another cache provider which would be able to satisfy my contract. 
> Then my development process would be similar to development in OSGi and blueprint as DI provider. I would care only about fulfilling the contracts by various artefacts.

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

        


More information about the weld-issues mailing list