thread တစ်ခုသည် proxy property ကို သတ်မှတ်ပြီး တောင်းဆိုမှုတစ်ခု ပြုလုပ်ကာ တန်ဖိုးဟောင်းကို ပြန်လည်ထားရှိသည်။ အခြား thread တစ်ခုက မတူညီသော proxy ဖြင့် အလားတူပြုလုပ်သည်။ အပေါ်မှအောက်သို့ ဖတ်လျှင် ကုဒ်သည် သပ်ရပ်ပုံရသော်လည်း thread နှစ်ခုစလုံး မျှဝေထားသော JVM အခြေအနေကို ပြောင်းလဲနေသည်။

System.setProperty() သည် process အတွက် system property ကို ပြောင်းလဲသည်။ ၎င်းကို ခေါ်ခဲ့သော thread သို့ လမ်းကြောင်းကို မတွဲဆက်ပါ။ ပြိုင်တူတောင်းဆိုမှုတစ်ခုသည် အခြားသူ၏အလုပ်အတွက် ရေးထားသော တန်ဖိုးကို တွေ့နိုင်ပြီး ရှိပြီးသား client သည် ၎င်း၏ ကိုယ်ပိုင် configuration ကို ဖမ်းယူပြီးဖြစ်နိုင်သည်။

လမ်းကြောင်းကို client ၏ အစိတ်အပိုင်းဖြစ်စေပါ

Java ၏ HTTP client အတွက် တမင်ရွေးချယ်ထားသော proxy ရွေးချယ်သူများဖြင့် client များ ဖန်တီးပါ။ အလုပ်များသည် မတူညီသော routing မူဝါဒများ လိုအပ်ပါက client များကို သီးခြားထားပါ။

HttpClient client = HttpClient.newBuilder()
    .proxy(ProxySelector.of(
        new InetSocketAddress("203.0.113.10", 8080)))
    .connectTimeout(Duration.ofSeconds(5))
    .build();

import များမှာ java.net၊ java.net.http နှင့် java.time ဖြစ်သည်။ လိပ်စာသည် နမူနာဖြစ်သည်။ ခွင့်ပြုထားသော အများသူငှာ လမ်းကြောင်းစမ်းသပ်မှုများအတွက် HTTP proxy စာရင်းသည် ကိုယ်စားလှယ် endpoint များကို ပေးသည်။ တောင်းဆိုမှု သတ်မှတ်ချိန်များနှင့် proxy စစ်မှန်ကြောင်းအထောက်အထားကို အပ်ပလီကေးရှင်း၏ လိုအပ်ချက်အလိုက် သီးခြားစီ ပြင်ဆင်ပါ။

builder ၏ proxy methodသည် client အဆင့် ရွေးချယ်မှုကို မှတ်တမ်းတင်သည်။ ၎င်းသည် asynchronous လုပ်ဆောင်ချက်များကို ရစ်ပတ်ထားသော global ရေးသားမှုအစီအစဉ်ထက် မူဝါဒကို စစ်ဆေးရန် ပိုလွယ်စေသည်။

global ဆက်တင်များတွင် အသုံးပြုမှု ရှိနေဆဲ

ပါဝင်သော client တိုင်းက ၎င်းကို လိုက်နာရန် ရည်ရွယ်ထားလျှင် JVM တစ်ခုလုံးအတွက် proxy မူဝါဒတစ်ခုတည်း သင့်လျော်နိုင်သည်။ ထိုမူဝါဒကို အပ်ပလီကေးရှင်း စတင်ချိန်တွင် သတ်မှတ်ပြီး မည်သည့် library များက ၎င်းကို လေးစားသည် စစ်ဆေးပါ။

global property များကို တစ်ဦးချင်း တောင်းဆိုမှုများအတွက် ယာယီ switch အဖြစ် အသုံးပြုသောအခါ ပြဿနာများ ပေါ်လာသည်။ server တွင် သင့် method သည် synchronous ပုံရသော်လည်း နောက်ခံ worker များနှင့် library ခေါ်ဆိုမှုများ ပြိုင်တူ လည်ပတ်နိုင်သည်။ routing အခြေအနေကို ချိတ်ဆက်မှုကို ပိုင်ဆိုင်သော client သို့မဟုတ် connector တွင် ထားပါ၊ အခြားတောင်းဆိုမှုက အလုပ်အလယ်တွင် ၎င်းကို မပြောင်းနိုင်စေရန်။

ဆက်စပ်ဆောင်းပါးများ