اضبط وكيل HTTP الافتراضي في Jena قبل بدء الاستعلامات
تعرّف على العميل الافتراضي على مستوى JVM في HttpEnv، وتوقيت بدء تشغيله، والعملاء الذين يمكنهم تجاوزه لاستدعاءات SERVICE.
في تطبيق 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 هذه في ملف لا يجعل ذلك الخادم ينفّذها.