目前,我们将数据源定义存储在server.xml内的Tomcat容器中,并通过context.xml公开环境变量。
每当我们更改环境变量或数据源时,都需要重新启动服务器才能使这些更改生效。
我们有没有办法创建一个web应用程序来管理这些东西?而不是将它们存储在服务器的context.xml和server.xml文件中,我们可以将它们存储在另一个文件中,并通过we应用程序对其进行修改。当应用程序需要一个数据源时,它可以从webapp请求它(可能是通过消息传递)。我曾考虑过在运行时修改jndi元素并将更改保存到文件中,但发现Tomcat不允许这样做。
如果不是很明显,我对所涉及的技术只有一点经验,但我想要一个方向。我不想做任何见不得人的事,我想遵循标准。
拥有一个处理全局数据源和全局变量管理的webapp,需要您通过消息传递来请求这些对象,这样做正确吗?如果没有,有哪些更可取的替代方案?
发布于 2010-07-20 06:49:45
您可以使用Tomcat "admin“包,如果它存在的话。但话说回来,它从来都不是ported from version 5 to 6 for various reasons。这篇文章本身说明了如何正确处理管理工具的正确方法。
同时,您可以使用Tomcat公开的MBeans,尽管我不能保证存在任何有用的东西。
发布于 2010-07-20 06:43:46
考虑迁移到不同的应用程序服务器。
例如,Glassfish可能会满足您的需求。
http://blogs.oracle.com/alexismp/entry/glassfish_ose_3_0_1
http://glassfish.java.net/
https://stackoverflow.com/questions/3285588
复制相似问题