是否可以将JNDI上下文.xml文件从文件系统导入到Spring应用程序中



我们有一个巨大的企业应用程序,其中有很多JNDI条目写在上下文.xml文件中。目前,上下文.xml文件保存在我们应用程序的 META-INF 文件夹中。我们需要将其移出应用程序和服务器,以便我们可以在需要时修改 JNDI 条目。我们不能将其保存在tomcat根文件夹中的任何位置,因为我们正在使用图像文件来启动服务器,并且我们将无法访问服务器中的文件。

所以我想知道是否可以使用 spring 从文件系统导入 JNDI 上下文文件?如果不是春天,我们还有其他选择来完成这项工作吗?我已经研究了 2 天,还没有找到解决方案。

编辑:是的,我接受所有这些答案,这就是我们这些年来一直这样做的方式。要么将上下文.xml保存在应用程序内的 meta-inf 文件夹中,要么将其保存在服务器 conf 目录中,或者将其放在 conf/catalina/localhost/warfilename.xml 下。所有这些方法都有效。但是现在我们正在研究是否可以将 xml 文件放在服务器外部的本地文件系统中,并让 tomcat 或我们的应用程序导入它。如果可能,请告诉我。这是我们正在做的一种研究。

原因是,我们将向很多客户销售我们的产品,并将我们的产品捆绑为图像文件。对于每个客户,我们无法单独创建图像文件。因此,我们只是尝试将上下文.xml文件移动到映像之外,并将其配置为应用程序或服务器之外,以便我们可以在将产品安装到客户机器中时修改jndi条目。

如果问题仍然不清楚,请告诉我。我真的很感谢你的帮助。

谢谢桑杰

我不明白你想做什么。

JNDI 是服务器端的命名和目录查找服务。 客户端不应修改这些设置。

context.xml必须位于 Tomcat /conf 文件夹中。 毫无疑问。

我假设"客户端"是指与服务器端通信的用户界面。

如果"客户端"是指"在单个 Tomcat 实例上运行的其他应用程序",那么就更是如此了。 为什么一个客户端应该能够修改其他人使用的值?

Spring 有 JNDI 对象工厂。 这就是Spring使用JNDI的方式。

也许你找不到任何告诉你怎么做的东西的原因是没有人应该做这样的事情。

目前还不清楚您正在想象什么要求。 请澄清,我会编辑。

最新更新