2013-06-05 61 views
2

這是我在StackOverflow上的第一篇文章,所以讓我知道如果我打破任何規則。如何從EJB中獲取Web資源的路徑?

至於問:

我有一個JBOSS的項目劃分如下:

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

事情是,我需要的路徑(然後閱讀文件)「mySqlQuery.sql 「)來自」MyQuartzClass.java「。可能嗎?我知道我可以在ManagedBean中使用FacesContext.getCurrentInstance()。getExternalContext()。getRealPath,但是我可以在我的EJB類中使用類似的東西嗎?

感謝

回答

0

至少對於WAR部署,你可以有一個ContextListener加載某些信息到一個非@啓動註解EJB的靜態字段。有一個代碼示例https://github.com/IanDarwin/GetWebFilesInEJB.git

我還沒有在傳統EAR部署上測試過它;如果它在那裏不起作用,可能會讓一些人有點簡化他們的生活:-)