За вградено приложение на Jena с модерния JDK стек създайте общ резервен вариант, преди да изграждате изпълнения на заявки или да стартирате работници:

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

Конструкторът на Jena запазва настройките си за транспорт, докато добавя селектора. За вградено натоварване с разрешени публични SPARQL крайни точки и без акаунт за прокси, списъкът с HTTP проксита може да предостави HTTP адреса на селектора. Това остава споделена настройка по подразбиране за JVM, а не превключвател за всяка заявка.

ОперацияРед за избор на клиент
Обикновен конструктор на HTTP заявкиЯвен клиент, съвпадение в регистъра по URL, настройка по подразбиране на HttpEnv
Вграден федериран SERVICEСъответстващ клиент от регистъра, клиент от контекста на заявката, глобална настройка по подразбиране

Затова локално или регистрово заместване може да използва друг маршрут. HTTP конструкторът определя клиента си при извикване на build и предава този обект на изпълнението; замяната на настройката по-късно не пренаписва вече изградено изпълнение.

Поддържайте резервния вариант при стартиране стабилен. Използвайте подходящия локален/контекстов/регистров интерфейс, когато маршрутите се различават.

Самостоятелен сървър Fuseki също се нуждае от поддържания от внедрената му версия начин за изпълнение на инициализация. Поставянето на този Java код във файл не кара сървъра да го изпълни.

Подобни статии