Java 公司代理背后的apachewave;或码头不';不尊重代理属性

Java 公司代理背后的apachewave;或码头不';不尊重代理属性,java,jetty,google-wave,Java,Jetty,Google Wave,我们面临的高层次问题是这个。我们已经在公司网络上安装并运行了ApacheWave。只要我们加载站点、注册、登录、创建和参与waves,它就可以工作。但我似乎无法加载外部设备,比如。我确信这是一个代理问题,因为我已经在公司网络之外安装了wave,并且我能够很好地加载小工具 我困惑的是;我已经在几个地方设置了ApacheWave的JVM代理设置,但是它们加载的小工具不起作用。我已经在jvm命令行、环境变量JAVA_OPTIONS、JAVA_OPTS、JETTY_OPTIONS和JETTY_OPTS中

我们面临的高层次问题是这个。我们已经在公司网络上安装并运行了ApacheWave。只要我们加载站点、注册、登录、创建和参与waves,它就可以工作。但我似乎无法加载外部设备,比如。我确信这是一个代理问题,因为我已经在公司网络之外安装了wave,并且我能够很好地加载小工具

我困惑的是;我已经在几个地方设置了ApacheWave的JVM代理设置,但是它们加载的小工具不起作用。我已经在jvm命令行、环境变量JAVA_OPTIONS、JAVA_OPTS、JETTY_OPTIONS和JETTY_OPTS中设置了http.proxyHost和http.proxyPort,并在调用加载小工具之前通过System.setProperty right进行了设置。我添加了一些代码,以便在ApacheWave的jvm中创建一个外部站点,这是可行的,因此代理设置可以正常工作。但小玩意还是不行

以下是我能说出的最接近问题的一点: 我在调用下面的某个地方收到一条调试消息:(第121行;在GadgetProxyServlet中)

调试是:

[java] 2012-04-06 10:47:25.197:WARN:oejsKwbs.ServerMain$GadgetProxyServlet, annotation=[none]]:java.net.ConnectException: Connection timed out

所以也许我的问题是。。为什么Jetty ProxyServlet.Transparent不尊重jvm的http代理设置?我也需要设置一些Jetty属性吗?

看起来Jetty
ProxyServlet
在封面下使用Jetty异步http客户端,它有一个
setProxy(Address)
用于设置代理
ProxyServlet
还包含一个扩展点,用于对附带的
HttpClient
执行自定义配置,但Wave平台并未公开该扩展点。我想你有两个选择:

  • 提供jetty
    ProxyServlet
    的定制版本,该版本从系统属性或其他内容获取代理地址,并在包装的
    HttpClient
    上进行设置。这很简单,我会选择它
  • 同时,您可以向wave团队提交增强请求以公开此设置

看起来jetty
ProxyServlet
在封面下使用jetty异步http客户端,该客户端有一个
setProxy(Address)
用于设置代理
ProxyServlet
还包含一个扩展点,用于对附带的
HttpClient
执行自定义配置,但Wave平台并未公开该扩展点。我想你有两个选择:

  • 提供jetty
    ProxyServlet
    的定制版本,该版本从系统属性或其他内容获取代理地址,并在包装的
    HttpClient
    上进行设置。这很简单,我会选择它
  • 同时,您可以向wave团队提交增强请求以公开此设置

谢谢!这起作用了。我有点困惑它是如何工作的,因为看Jetty的ProxyServlet,它看起来像是在创建一个新的原始套接字来获取小工具URL()。这让我相信我需要一个我没有的袜子代理。但不管怎样,你的建议奏效了。很高兴它奏效了,看看你在说什么。它将此连接引入代理并复制请求,并将响应输出放在具有套接字输入的线程上。就像在这种情况下,它没有做任何代理本身。谢谢!这起作用了。我有点困惑它是如何工作的,因为看Jetty的ProxyServlet,它看起来像是在创建一个新的原始套接字来获取小工具URL()。这让我相信我需要一个我没有的袜子代理。但不管怎样,你的建议奏效了。很高兴它奏效了,看看你在说什么。它将此连接引入代理并复制请求,并将响应输出放在具有套接字输入的线程上。就像在这种情况下,它本身不做任何代理。
[java] 2012-04-06 10:47:25.197:WARN:oejsKwbs.ServerMain$GadgetProxyServlet, annotation=[none]]:java.net.ConnectException: Connection timed out