我已经在websphere上部署了ajax代理应用程序。我已经在代理配置.xml中进行了配置。
这按预期工作,但问题是我必须将此配置文件保存在 EAR 文件中,这阻止我在不同的环境中使用相同的 EAR,因为配置在不同的环境中会有所不同。
我尝试保留一些共享的联络,但它没有被应用程序拾取。我已经在类路径中传递了它,但仍然不起作用。
所以我的问题是如何将代理配置.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);
}
}
还有网络.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>