הגדירו את פרוקסי ה-HTTP המוגדר כברירת מחדל של Jena לפני שהשאילתות מתחילות
הבינו את לקוח ברירת המחדל של HttpEnv ברמת ה-JVM, מתי הוא מופעל ואילו לקוחות יכולים לעקוף אותו בקריאות 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 הזה בקובץ אינה גורמת לשרת להריץ אותו.