Wildfly在不同的耳朵中看到来自外部罐子的资源

时间:2015-08-05 07:40:13

标签: wildfly

是否有可能扫描一些目录以查找所有jar并在运行时将它们作为依赖项添加到耳中?

我正在使用wildfly 8.1.0 final。

例如,我们有两个分开的耳朵:

  • ear1
  • EAR2

带有一些jsf托管bean,facelets和静态内容(images,css,js)的外部jar:

  • jar1

是否存在任何方法可以从ear1和ear2访问jar1中的所有资源而不将jar1作为模块放在ear1或ear2中?

除了在ear1和ear2中添加jar1作为依赖关系并重新部署ear1和ear2之外,我不知道任何其他方式。

1 个答案:

答案 0 :(得分:0)

标准Java EE方法是在war1模块中创建EJB服务。在此之后,您应该在ear1,ear2中使用JNDI名称查找并使用war1提供的EJB接口。如果需要动态添加JSF资源(jsf页面和静态文件),则应编写javax.faces.application.ResourceHandlerWrapper的自定义实现。您的实现应该将资源请求传递给war1模块(使用EJB接口)。

在这种情况下,ear1,ear2和war1模块之间的依赖性较弱。您还可以拥有一组war模块和一些带有JNDI名称的注册表或使用list方法:Wildfly jndi list

但我不确定如何调用war1托管bean。我认为你应该在war1模块中使用EJB,并在ear1,ear2中编写一些代理JSF bean。