我在 Tomcat 中部署了一个使用 Hibernate 的基于 Spring 的应用程序。当在容器中执行或调用驻留在 Tomcat 中的 servlet 时,这非常有效。它读取所有配置文件,例如applicationContext.xml
和其他休眠文件。但我必须从 Tomcat 环境之外的 shell 脚本执行 Java 主方法。因此,我在 WAR 文件中创建了一个调用相应方法的主方法。applicationContext
但是当它通过脚本调用时,我得到它是空的。
ApplicationContext appCtx = ApplicationContextProvider.getApplicationContext();
shell脚本如下
WAR_PATH="/usr/apache-tomcat-6.0.36/webapps/AdminTool/WEB-INF"
CLASSPATH=$WAR_PATH/classes
java -classpath $CLASSPATH:$WAR_PATH/lib/*: com.mycompany.controller.BatchController "$1"
如何通过脚本调用 Spring 上下文工作?
非常感谢