Définissez le proxy HTTP par défaut de Jena avant le démarrage des requêtes
Comprenez le client par défaut d’HttpEnv à l’échelle de la JVM, son moment de démarrage et les clients qui peuvent le remplacer pour les appels SERVICE.
Pour une application Jena embarquée sur sa pile JDK moderne, établissez une solution de repli commune avant de construire des exécutions de requête ou de démarrer des workers :
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);Le constructeur de Jena conserve ses valeurs de transport par défaut tout en ajoutant le sélecteur. Pour une charge de travail embarquée utilisant des points de terminaison SPARQL publics autorisés et aucun compte proxy, la liste de proxies HTTP peut fournir l’adresse HTTP du sélecteur. Cela reste une valeur par défaut partagée de la JVM, pas un commutateur par requête.
| Opération | Ordre de sélection du client |
|---|---|
| Constructeur de requêtes HTTP ordinaire | Client explicite, correspondance du registre par URL, valeur par défaut d’HttpEnv |
| SERVICE fédéré intégré | Client de registre correspondant, client de contexte de requête, valeur par défaut globale |
Une substitution locale ou issue du registre peut donc emprunter un autre itinéraire. Le constructeur HTTP fixe son client lors de l’appel à build et transmet cet objet à l’exécution ; remplacer la valeur par défaut plus tard ne réécrit pas une exécution déjà construite.
Gardez la solution de repli de démarrage stable. Utilisez l’interface locale, de contexte ou de registre appropriée lorsque les itinéraires diffèrent.
Un serveur Fuseki autonome a aussi besoin de la méthode d’initialisation prise en charge par sa version déployée. Placer ce code Java dans un fichier ne fait pas exécuter cette méthode par le serveur.