W przypadku osadzonej aplikacji Jena na nowoczesnym stosie JDK ustanów wspólną ścieżkę awaryjną, zanim zbudujesz wykonania zapytań lub uruchomisz procesy robocze:

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);

Konstruktor Jeny zachowuje swoje domyślne ustawienia transportu, dodając selektor. Dla osadzonego obciążenia korzystającego z dozwolonych publicznych punktów końcowych SPARQL i niemającego konta proxy lista serwerów proxy HTTP może dostarczyć adres HTTP selektora. To pozostaje wspólnym ustawieniem domyślnym JVM, a nie przełącznikiem na żądanie.

OperacjaKolejność wyboru klienta
Zwykły konstruktor zapytań HTTPJawny klient, dopasowanie rejestru oparte na URL, ustawienie domyślne HttpEnv
Wbudowany SERVICE federacyjnyPasujący klient rejestru, klient kontekstu zapytania, ustawienie globalne

Dlatego lokalne lub rejestrowe nadpisanie może użyć innej trasy. Konstruktor HTTP ustala swojego klienta w momencie wywołania build i przekazuje ten obiekt do wykonania; późniejsza zamiana ustawienia domyślnego nie przepisuje już zbudowanego wykonania.

Utrzymuj stabilną ścieżkę awaryjną przy starcie. Gdy trasy się różnią, użyj odpowiedniego interfejsu lokalnego/kontekstowego/rejestrowego.

Samodzielny serwer Fuseki również potrzebuje obsługiwanego przez wdrożoną wersję sposobu uruchamiania inicjalizacji. Umieszczenie tego kodu Java w pliku nie sprawia, że serwer go wykona.

Powiązane artykuły