2010-03-03 15 views
6

que estoy haciendo algunos Sevicios web funcionarán en Java 5 en un Mac (10.6.2) ....procesos Java utilizando servidor proxy, regando a todo

Desde que nos hizo empezar a utilizar un servidor proxy, la vida se ha vuelto mucho más difícil. Java parece estar tirando de la configuración del servidor proxy del sistema, pero no de la lista de exclusión. Esto significa que cuando trato de llamar a un servicio web para "localhost", java prueba su servidor proxy y mi llamada explota. Lo mismo para mi nombre de host o IP.

Para trabajar en la oficina, tengo que ir a Configuración del sistema y eliminar la configuración del proxy. Entonces está todo bien, excepto que no puedo acceder a internet. No importa lo que haga en la configuración de mi sistema con la lista de exclusión, no tiene efecto en Java.

He intentado -Djava.net.useSystemProxies = false y parece que no hace nada.

gracias por cualquier ayuda!

+0

java.net.useSystemProxies es falso por defecto (hasta donde yo sé). ¿Lo configuras para verdad? – Yishai

Respuesta

2

La referencia definitiva para la configuración proxy de red en Java 5 es esta página Java Networking and Proxies. Desde esta página, parece que Java 5 no presta atención a la configuración del sistema desde el entorno host. Pero incluso si se supone que debe prestarles atención, el hecho de que (aparentemente) no funcione para usted significa que no debe confiar en esto ... al menos por ahora.

Con el fin de configurar explícitamente una JVM de Java 5 para utilizar un proxy predeterminado para HTTP es necesario configurar las propiedades del sistema Java:

  • http.proxyHost - la dirección DNS o IP del servidor proxy
  • http.proxyPort - el número de puerto para el proxy
  • http.nonProxyHosts - una lista de hosts o dominios para conectarse directamente, separados por el carácter "tubería" |.

Si está utilizando HTTPS, así, también es necesario para configurar https.proxyHost y https.proxyPort.

Y, creo que tiene que establecer http.proxyHost para http.nonProxyHosts para tener algún efecto. Establecer el último por sí mismo puede no tener ningún efecto.

Más detalles están en la página enlazada arriba. Recomendaría usar las opciones "-D" en el script de comandos que usas para iniciar la aplicación. Tal vez podría hacer que este script extraiga los parámetros del proxy de la configuración del sistema.

Tenga en cuenta que en Java 6 y versiones posteriores, el soporte de proxy de red cambia (nuevamente) y Java 6 JVM tomará y usará las configuraciones del sistema del entorno de host en ciertas circunstancias.

Cuestiones relacionadas