0

我已经在 websphere 上部署了 ajax 代理应用程序。我已经在 proxy-config.xml 中进行了配置。

这按预期工作,但问题是我必须将此配置文件保存在 EAR 文件中,这会阻止我在不同的环境中使用相同的 EAR,因为不同的环境中的配置会有所不同。

我曾尝试保留一些共享库,但它没有被应用程序拾取。我已经在类路径中传递了它,但它仍然无法正常工作。

所以我的问题是如何将 proxy-config.xml 保留在 EAR 文件之外,以便我可以使用相同的 EAR 部署在所有环境中。

4

1 回答 1

0

还不能发表评论……但是由于您引用了 WebSphere 、Ajax Proxy 并提到了 proxy-config.xml - 我假设您正在使用 web 2.0(和移动)功能包中的 ajax 代理并将尝试回答。我知道在 ear/war 文件之外引用代理配置的唯一方法是覆盖 ProxyServlet 并使用 setCustomConfig 方法(见下文)。这使代理配置脱离了耳朵/战争,但您需要区分从不同环境加载文件的位置,但这应该让您更接近解决方案。

 package marktest;
 import javax.servlet.ServletConfig;
 import javax.servlet.ServletException;
 import com.ibm.ws.ajaxproxy.servlet.ProxyServlet;

 public class ExtendedProxyServlet extends ProxyServlet {

  @Override
  public void init(final ServletConfig config) throws ServletException {

          setCustomConfig("C:/files/proxy-config.xml");  
          super.init(config);
  }
}

和 web.xml

<servlet>
    <servlet-name>ProxyServlet</servlet-name>
    <servlet-class>marktest.ExtendedProxyServlet</servlet-class>
</servlet>  
<servlet-mapping>
    <servlet-name>ProxyServlet</servlet-name>
    <url-pattern>/proxy/*</url-pattern>         
</servlet-mapping>
于 2016-02-05T16:24:08.187 回答