2012-07-05 60 views
1

我有JBoss和Tomcat,我喜歡爲這兩個應用程序創建一個可移植的Web應用程序。如何獲取tomcat的工作目錄ApplicationContextFacade

在JBoss上,我使用jboss.server.data.dir屬性來存儲websessions。 在Tomcat id上喜歡使用/ work/-dir。但是如何獲得工作目標?

我只是有一個ApplicationContextFacade -instance on tomcat。是否有可能獲得工作目錄?我環顧四周,發現.getWorkDir/.getWorkPath,看起來像我尋找的方法。但是因此我需要一個Context的實例。

1 public static String getPath(EventObject session) { 
2 String path=System.getProperty("jboss.server.data.dir"); 
3 
4 if (path == null && session.getSource() instanceof ApplicationContextFacade) { 
5  ApplicationContextFacade acf = (ApplicationContextFacade) session 
6    .getSource(); 
7  
8  path = acf.getWorkDir(); 
9 
10 } 
11 return path; 
12} 

(8號線不工作)

問候

回答

1

嘗試使用的東西,是servlet API的一部分:

java.io.File tmpDir = ServletContext.getAttribute("javax.servlet.context.tempdir"); 

在Tomcat上,這讓你一個File對象指向$CATALINA_BASE/work/[service[/[engine]/[context]