क्वेरी शुरू होने से पहले Jena का डिफ़ॉल्ट HTTP प्रॉक्सी सेट करें
HttpEnv के पूरे JVM-स्तरीय डिफ़ॉल्ट क्लाइंट, उसके शुरू होने का समय और SERVICE कॉल के लिए उसे ओवरराइड कर सकने वाले क्लाइंट को समझें।
आधुनिक JDK स्टैक वाले एम्बेडेड Jena एप्लिकेशन के लिए, क्वेरी निष्पादन बनाने या वर्कर शुरू करने से पहले एक साझा फ़ॉलबैक स्थापित करें:
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 कोड को फ़ाइल में रखने से वह सर्वर इसे निष्पादित नहीं करता।