1

我有 JBoss 和 Tomcat,我喜欢为两者制作一个可移植的 webapp。

在 JBoss 上,我使用 jboss.server.data.dir-property 来存储网络会话。在 Tomcat id 上喜欢使用 /work/-dir。但是如何获得工作目录?

我在 tomcat 上只有一个ApplicationContextFacade -instance。是否有可能获得工作目录?我环顾四周,找到了 .getWorkDir/.getWorkPath,这看起来就像我寻找的方法。但因此我需要一个上下文实例。

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 行不起作用)

问候

4

1 回答 1

1

尝试使用 servlet API 的一部分:

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

在 Tomcat 上,这将为您提供一个File指向$CATALINA_BASE/work/[service[/[engine]/[context].

于 2012-07-07T11:52:59.677 回答