في تطبيق 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 هذه في ملف لا يجعل ذلك الخادم ينفّذها.

مقالات ذات صلة