2

这是我在 StackOverflow 上的第一篇文章,如果我违反任何规则,请告诉我。

至于问题:

我有一个JBOSS项目划分如下:

myproject
  -myproject-ear
  -myproject-ejb
     -mypackage
       -myQuartzClass.java
  -myproject-web
     -src
        -main
          -webapp
             -protected
                -sql
                  -mySqlQuery.sql

事情是,我需要从“MyQuartzClass.java”中获取“mySqlQuery.sql”的路径(然后读取文件)。可能吗?我知道我可以在 ManagedBean 中使用 FacesContext.getCurrentInstance().getExternalContext().getRealPath,但是我可以在我的 EJB 类中使用类似的东西吗?

谢谢

4

1 回答 1

0

至少对于 WAR 部署,您可以让 ContextListener 将一些信息加载到非@Startup-annotated EJB 的静态字段中。https://github.com/IanDarwin/GetWebFilesInEJB.git有一个代码示例

我没有在旧版 EAR 部署上测试过它;如果它在那里不起作用,可能会让一些人有动力简化他们的生活:-)

于 2017-02-21T21:32:15.020 回答