Defina o proxy HTTP padrão do Jena antes de as consultas começarem
Entenda o cliente padrão do HttpEnv para toda a JVM, quando ele inicia e quais clientes podem substituí-lo nas chamadas SERVICE.
Para uma aplicação Jena embarcada com a sua pilha JDK moderna, estabeleça um recurso partilhado antes de construir execuções de consulta ou iniciar trabalhadores:
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);O construtor do Jena mantém os seus valores de transporte predefinidos ao adicionar o seletor. Para uma carga de trabalho embarcada que usa pontos finais SPARQL públicos permitidos e não tem conta de proxy, a lista de proxies HTTP pode fornecer o endereço HTTP do seletor. Isto continua a ser um valor predefinido partilhado da JVM, não um interruptor por pedido.
| Operação | Ordem de seleção do cliente |
|---|---|
| Construtor de consultas HTTP comum | Cliente explícito, correspondência do registo por URL, predefinição do HttpEnv |
| SERVICE federado incorporado | Cliente de registo correspondente, cliente de contexto da consulta, predefinição global |
Por isso, uma substituição local ou do registo pode usar outra rota. O construtor HTTP resolve o seu cliente quando build é chamado e passa esse objeto à execução; substituir a predefinição mais tarde não reescreve uma execução já construída.
Mantenha estável o recurso de arranque. Use a interface local, de contexto ou de registo adequada quando as rotas diferirem.
Um servidor Fuseki autónomo também precisa da forma de executar a inicialização suportada pela sua versão implementada. Colocar este código Java num ficheiro não faz com que esse servidor o execute.