我有一个无法更改的第三方基于 Tomcat 的服务器应用程序。应用程序使用 XML 格式接收来自客户端的 POST 请求。有业务需要将一些 XML 数据字段从单独的日志文件或数据库/系统日志中记录下来。我担心性能。
对于这种情况,servlet 过滤器是一个很好的解决方案吗?还是使用中介代理更好?
你能推荐任何现有的过滤器/阀门来满足这种需求吗?
我有一个无法更改的第三方基于 Tomcat 的服务器应用程序。应用程序使用 XML 格式接收来自客户端的 POST 请求。有业务需要将一些 XML 数据字段从单独的日志文件或数据库/系统日志中记录下来。我担心性能。
对于这种情况,servlet 过滤器是一个很好的解决方案吗?还是使用中介代理更好?
你能推荐任何现有的过滤器/阀门来满足这种需求吗?
我想您提到的 servlet 过滤器是在 Web 应用程序本身中实现的。因此可能需要更改现有 Web 应用程序的 web.xml。当然,您可以添加另一个新的 webapp,并在预处理后将请求重定向到当前的 webapp。
但是,Tomcat 支持 Valve。我认为它可以完美地支持您的要求。可以在此处找到完整的 Valve 文档。它确实会在一定程度上影响你的 webapp 的整体性能。这在很大程度上取决于您如何实施阀门。您必须在实施后评估性能开销。评估代码也可以写在阀门类中。
这是另一个有用的链接:
http://www.tomcatexpert.com/blog/2011/11/11/finer-point-apache-tomcat-valves
实现阀门后,您可以在您的 tomcat 目录下的配置文件中注册它们。