Impostate il proxy HTTP predefinito di Jena prima dell’avvio delle query
Capite il client predefinito di HttpEnv a livello di JVM, quando entra in gioco e quali client possono sostituirlo per le chiamate SERVICE.
Per un’applicazione Jena incorporata con il suo stack JDK moderno, stabilite un percorso di riserva comune prima di costruire esecuzioni di query o avviare worker:
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);Il builder di Jena conserva i propri valori predefiniti di trasporto mentre aggiunge il selettore. Per un carico incorporato che usa endpoint SPARQL pubblici consentiti e non ha un account proxy, il elenco di proxy HTTP può fornire l’indirizzo HTTP del selettore. Resta un valore predefinito condiviso della JVM, non un interruttore per singola richiesta.
| Operazione | Ordine di scelta del client |
|---|---|
| Builder di query HTTP ordinario | Client esplicito, corrispondenza del registro basata sull’URL, predefinito di HttpEnv |
| SERVICE federato integrato | Client di registro corrispondente, client di contesto della query, predefinito globale |
Una sovrascrittura locale o di registro può quindi usare un’altra rotta. Il builder HTTP determina il proprio client quando viene chiamato build e passa quell’oggetto all’esecuzione; sostituire il predefinito in seguito non riscrive un’esecuzione già costruita.
Mantenete stabile il percorso di riserva all’avvio. Usate l’interfaccia locale/di contesto/di registro adatta quando le rotte differiscono.
Anche un server Fuseki autonomo ha bisogno del modo supportato dalla sua versione distribuita per eseguire l’inizializzazione. Mettere questo codice Java in un file non fa sì che quel server lo esegua.