gpt4 book ai didi

java - 从容器外部的 shell 脚本调用基于 Spring 的应用程序

转载 作者:行者123 更新时间:2023-11-30 11:38:30 25 4
gpt4 key购买 nike

我有一个基于 Spring 的应用程序,它使用部署在 Tomcat 中的 Hibernate。当在容器内执行或调用驻留在 Tomcat 中的 servlet 时,这工作得很好。它读取所有配置文件,例如 applicationContext.xml 和其他 hibernate 文件。但是我必须从 Tomcat 环境之外的 shell 脚本执行 Java main 方法。因此,我在 WAR 文件中创建了一个调用相应方法的主要方法。但是当通过脚本调用时,我得到 applicationContext 为 null。

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 上下文?

非常感谢

最佳答案

您必须告诉您的应用程序如何使用 ApplicationContext 初始化 beanfactory。取决于您使用的 Spring 版本。如果您使用的是版本 2,请参阅 documentation


在 Spring 3 中实例化一个 spring 容器 Documentation

ApplicationContext context =
new ClassPathXmlApplicationContext(new String[] {"services.xml", "daos.xml"});

关于java - 从容器外部的 shell 脚本调用基于 Spring 的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13611564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com