我已经在 websphere 上部署了 ajax 代理应用程序。我已经在 proxy-config.xml 中进行了配置。
这按预期工作,但问题是我必须将此配置文件保存在 EAR 文件中,这会阻止我在不同的环境中使用相同的 EAR,因为不同的环境中的配置会有所不同。
我曾尝试保留一些共享库,但它没有被应用程序拾取。我已经在类路径中传递了它,但它仍然无法正常工作。
所以我的问题是如何将 proxy-config.xml 保留在 EAR 文件之外,以便我可以使用相同的 EAR 部署在所有环境中。
我已经在 websphere 上部署了 ajax 代理应用程序。我已经在 proxy-config.xml 中进行了配置。
这按预期工作,但问题是我必须将此配置文件保存在 EAR 文件中,这会阻止我在不同的环境中使用相同的 EAR,因为不同的环境中的配置会有所不同。
我曾尝试保留一些共享库,但它没有被应用程序拾取。我已经在类路径中传递了它,但它仍然无法正常工作。
所以我的问题是如何将 proxy-config.xml 保留在 EAR 文件之外,以便我可以使用相同的 EAR 部署在所有环境中。
还不能发表评论……但是由于您引用了 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>