আমি সহজ স্প্রিং ওয়েব অ্যাপ্লিকেশন বিকাশ করছি যা দূরবর্তী হোস্টের সাথে যোগাযোগ করে এবং আমি স্থানীয়ভাবে কর্পোরেট প্রক্সিটির পিছনে এটি পরীক্ষা করতে চাই। আমি "স্প্রিং বুট" গ্রেডেল প্লাগইন ব্যবহার করি এবং প্রশ্ন আমি কীভাবে জেভিএমের জন্য প্রক্সি সেটিংস নির্দিষ্ট করতে পারি?
আমি এটি করার বিভিন্ন উপায় চেষ্টা করেছি:
gradle -Dhttp.proxyHost=X.X.X.X -Dhttp.proxyPort=8080 bootRun
export JAVA_OPTS="-Dhttp.proxyHost=X.X.X.X -Dhttp.proxyPort=8080"
export GRADLE_OPTS="-Dhttp.proxyHost=X.X.X.X -Dhttp.proxyPort=8080"
তবে দেখে মনে হচ্ছে এগুলির কোনওটিই কাজ করে না - "NoRouteToHostException" "নেটওয়ার্ক" কোডে ছুড়ে দেয়। এছাড়াও, আমি জেভিএম শুরু যুক্তিগুলি ডিবাগ করার জন্য কিছু অতিরিক্ত কোড যুক্ত করেছি:
RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean();
List<String> arguments = runtimeMxBean.getInputArguments();
for (String arg: arguments) System.out.println(arg);
এবং শুধুমাত্র একটি যুক্তি মুদ্রিত হয়েছিল: "-Dfile.encoding = UTF-8"।
যদি আমি কোডে সিস্টেমের সম্পত্তি সেট করি:
System.setProperty("http.proxyHost", "X.X.X.X");
System.setProperty("http.proxyPort", "8080");
সবকিছু ঠিকঠাক কাজ করে!