ตั้งค่าพร็อกซี 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 นี้ในไฟล์ไม่ทำให้เซิร์ฟเวอร์นั้นรันโค้ด