En una aplicación Jena embebida con su pila JDK moderna, establezca un recurso compartido antes de construir ejecuciones de consulta o iniciar trabajadores:

import java.net.InetSocketAddress;
import java.net.ProxySelector;
import org.apache.jena.http.HttpEnv;

var http = HttpEnv.httpClientBuilder()
    .proxy(ProxySelector.of(
        new InetSocketAddress("proxy.example.net", 8080)))
    .build();

HttpEnv.setDftHttpClient(http);

El constructor de Jena conserva sus valores de transporte predeterminados mientras añade el selector. Para una carga embebida que usa puntos de conexión SPARQL públicos permitidos y no tiene cuenta de proxy, la lista de proxies HTTP puede aportar la dirección HTTP del selector. Sigue siendo un valor predeterminado compartido de la JVM, no un interruptor por petición.

OperaciónOrden de selección del cliente
Constructor de consultas HTTP ordinarioCliente explícito, coincidencia del registro por URL, valor predeterminado de HttpEnv
SERVICE federado integradoCliente de registro coincidente, cliente de contexto de consulta, valor predeterminado global

Por tanto, una anulación local o del registro puede usar otra ruta. El constructor HTTP resuelve su cliente cuando se llama a build y pasa ese objeto a la ejecución; sustituir el valor predeterminado después no reescribe una ejecución ya construida.

Mantenga estable el recurso de arranque. Use la interfaz local, de contexto o de registro adecuada cuando las rutas difieran.

Un servidor Fuseki independiente también necesita la forma de ejecutar la inicialización que admita su versión desplegada. Poner este código Java en un archivo no hace que ese servidor lo ejecute.

Artículos relacionados