Sæt Jenaens standard-HTTP-proxy, før forespørgslerne starter
Forstå HttpEnvs standardklient for hele JVM'en, hvornår den starter, og hvilke klienter der kan tilsidesætte den for SERVICE-kald.
For en indlejret Jena-applikation på sit moderne JDK-stak skal du etablere en fælles reservevej, før du bygger forespørgselsudførelser eller starter arbejdere:
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);Jenas builder bevarer sine transportstandarder, mens den tilføjer vælgeren. For en indlejret arbejdsbelastning, der bruger tilladte offentlige SPARQL-endpoints og ikke har nogen proxykonto, kan listen over HTTP-proxier levere vælgerens HTTP-adresse. Dette forbliver en delt JVM-standard, ikke en kontakt pr. forespørgsel.
| Handling | Rækkefølge for klientvalg |
|---|---|
| Almindelig HTTP-forespørgselsbuilder | Eksplicit klient, URL-baseret registermatchning, HttpEnv-standard |
| Indbygget fødereret SERVICE | Matchende registerklient, forespørgskontekstklient, global standard |
En lokal eller registerbaseret tilsidesættelse kan derfor bruge en anden rute. HTTP-builderen fastlægger sin klient, når build kaldes, og sender objektet videre til udførelsen; at erstatte standarden senere omskriver ikke en udførelse, der allerede er bygget.
Hold reservevejen ved opstart stabil. Brug den relevante lokale/kontekst-/registergrænseflade, når ruterne er forskellige.
En selvstændig Fuseki-server har også brug for den måde at køre initialisering på, som dens udrullede version understøtter. At lægge denne Java-kode i en fil får ikke serveren til at køre den.