Java 通过集群环境中web应用程序的一个实例提供静态资源

Java 通过集群环境中web应用程序的一个实例提供静态资源,java,servlets,Java,Servlets,我正在开发一个部署在JBoss服务器集群上的应用程序,这些服务器可以通过负载平衡器访问。有一组来自另一个外部服务的数据,我希望将其作为应用程序的一部分公开。但是,由于该服务是负载敏感的,所以我想从一个单独的独立Java应用程序中定期从一个实例调用该服务,并将数据放入一个文件中,该文件将由容器本身通过HTTP静态访问。但是,由于该文件将只存在一个实例,如果将请求路由到该集群中的任何其他实例,将导致找不到404文件。这意味着我需要在所有实例上访问这个文件 我考虑的一种方法是使用servlet映射ur

我正在开发一个部署在JBoss服务器集群上的应用程序,这些服务器可以通过负载平衡器访问。有一组来自另一个外部服务的数据,我希望将其作为应用程序的一部分公开。但是,由于该服务是负载敏感的,所以我想从一个单独的独立Java应用程序中定期从一个实例调用该服务,并将数据放入一个文件中,该文件将由容器本身通过HTTP静态访问。但是,由于该文件将只存在一个实例,如果将请求路由到该集群中的任何其他实例,将导致找不到404文件。这意味着我需要在所有实例上访问这个文件

我考虑的一种方法是使用servlet映射url模式的servlet,该模式与保存数据的文件名完全相同。如果请求到达的实例是文件存在的一个实例,那么它应该为该文件提供服务,否则servlet应该使用与该文件相同的url模式来获取该文件,该文件将从该文件存在的一个实例获取该文件并返回该文件作为响应

但是,当我使用与静态文件相同的servlet url模式时,首先获取servlet,而根本不查找静态资源。有没有办法让webapp在查找servlet之前先查找静态资源

我可以想到的第二种方法是使用具有相同url模式的过滤器,该过滤器将检查文件是否存在,如果文件存在,则让容器处理该文件,或者从该文件存在的实例获取该文件,并在响应中返回相同的文件

在我决定采取哪种方法之前,你能想到其他方法以及每种方法的优缺点吗