我们有一个庞大的企业应用程序,它在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条目。
如果问题仍然不明确,请告诉我。我非常感谢你的帮助。
谢谢, 桑杰
答案 0 :(得分:1)
我不明白你在做什么。
JNDI是服务器端的命名和目录查找服务。客户端不正在修改这些设置。
context.xml
必须位于Tomcat /conf
文件夹中。毫无疑问。
我假设“客户端”是指与服务器端通信的用户界面。
如果“client”意味着“在单个Tomcat实例上运行的其他应用程序,则更为真实。为什么一个客户端能够修改其他人使用的值?
Spring有JNDI对象工厂。这就是Spring如何使用JNDI。
也许你找不到任何告诉你怎么做的原因是没有人应该做这样的事情。
目前还不清楚你想象的是什么要求。请澄清,我会编辑。