是否可以将JNDI context.xml文件从文件系统导入Spring应用程序?

时间:2016-03-01 02:06:47

标签: java spring tomcat jndi

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

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

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

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

如果问题仍然不明确,请告诉我。我非常感谢你的帮助。

谢谢, 桑杰

1 个答案:

答案 0 :(得分:1)

我不明白你在做什么。

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

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

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

如果“client”意味着“在单个Tomcat实例上运行的其他应用程序,则更为真实。为什么一个客户端能够修改其他人使用的值?

Spring有JNDI对象工厂。这就是Spring如何使用JNDI。

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

目前还不清楚你想象的是什么要求。请澄清,我会编辑。