我有一个在Tomcat 7.0.5x中运行的Java Web应用程序。我需要将此应用程序交付给我们的客户,该客户具有运行application / tomcat的多个不同网络。
我的一个要求是允许最终用户从一个小型胖客户端实用程序配置Tomcat服务器的Connector端口。该实用程序将通过打开server.xml,更新端口属性并保存结果来存储配置的端口。
问题是需要定义多个连接器,因此需要实现一些额外的逻辑以确保更新正确的连接器。
其中一个想法是在Connector上设置一个自定义属性,该属性唯一地将该Connector标识为需要更新的连接器,例如
<Connector foo="bar" port="8080" ...
然后,我们只是对带有foo =“bar”元素的Connector元素执行XPath搜索。
拥有自定义属性似乎不会破坏Tomcat,所以我的问题是:这有什么问题吗?有什么特别“坏”或“臭”吗?
另一种方法是传递newPort
和oldPort
然后执行XPath搜索,如:
XPathExpression expr = xPath.compile("//Connector[@port=\"" + oldPort + "\"]")
然后将newPort
设置为新值。
这似乎不是一个坏主意,但还有其他可配置的属性,因此此更新方法的参数列表可能会变得很麻烦。无论如何,设计讨论不适合Stack Overflow,但我想知道在server.xml中使用自定义属性是否存在任何问题。
感谢您的聆听...