我在Tomcat(5.5)中运行了几个servlet应用程序.所有servlet都使用通过JNDI共享的公共工厂资源.目前,我可以通过在/conf/server.xml文件中将工厂资源包含为GlobalNamingResource来使一切正常工作,然后让每个servlet的META-INF / context.xml文件包含资源的ResourceLink.
XML文件中的代码段包含在下面.注意:我对tomcat并不熟悉,所以我不是说这是一个很好的配置!
但是,我现在希望能够使用RPM自动将这些servlet安装到多个tomcat实例中. RPM将首先将WAR复制到webapps目录,将工厂的jar复制到common / lib目录(这很好).但它还需要确保将工厂资源作为所有servlet的资源包含在内.
全局添加资源的最佳方法是什么?我不太热衷于编写一个进入server.xml文件的脚本,并以这种方式添加资源.
有没有办法让我添加多个server.xml文件,以便我可以编写一个新的server-app.xml文件,它会将我的设置连接到server.xml?或者,最好还是将这个JNDI资源添加到所有servlet而不使用server.xml?
附:重新启动服务器不会是一个问题,所以我不介意更改是否自动获取.
谢谢
来自server.xml的代码段
auth="Container"
type="com.somewhere.Connection"
factory="com.somewhere.MyFactory"/>
整个servlet的META-INF / context.xml文件
name="bean/MyFactory"
type="com.somewhere.MyFactory"/>