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.

OperazioneOrdine di scelta del client
Builder di query HTTP ordinarioClient esplicito, corrispondenza del registro basata sull’URL, predefinito di HttpEnv
SERVICE federato integratoClient 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.

Articoli correlati