עבור יישום 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 הזה בקובץ אינה גורמת לשרת להריץ אותו.

מאמרים קשורים