টাইম-আউট ও সমস্যা

Java-র জন্য Google API ক্লায়েন্ট লাইব্রেরি ব্যবহার করার সময় আপনার কোড যে HTTP সংক্রান্ত সমস্যা পেতে পারে, সেগুলি কীভাবে ম্যানেজ করতে হয় এবং টাইম-আউট কীভাবে সেট করতে হয় তা এই ডকুমেন্টে বর্ণনা করা হয়েছে।

কন্টেন্ট

টাইম-আউট সেট করা

নিচের উদাহরণে, যা Google Analytics API ব্যবহার করে, setConnectTimeout এবং setReadTimeout পদ্ধতিগুলি সব অনুরোধের জন্য কানেক্ট এবং রিড টাইমআউট তিন মিনিটে (মিলিসেকেন্ডে) সেট করতে ব্যবহার করা হয়:

private HttpRequestInitializer setHttpTimeout(final HttpRequestInitializer requestInitializer) {
  return new HttpRequestInitializer() {
    @Override
    public void initialize(HttpRequest httpRequest) throws IOException {
      requestInitializer.initialize(httpRequest);
      httpRequest.setConnectTimeout(3 * 60000);  // 3 minutes connect timeout
      httpRequest.setReadTimeout(3 * 60000);  // 3 minutes read timeout
    }
  };

GoogleCredential credential = ....

final Analytics analytics = Analytics.builder(new NetHttpTransport(), jsonFactory, setHttpTimeout(credential)).build();

Google API থেকে HTTP সংক্রান্ত সমস্যার উত্তর ম্যানেজ করা

JSON ফর্ম্যাট ব্যবহার করে এমন Google API-এর HTTP রেসপন্সে কোনও সমস্যার স্ট্যাটাস কোড শনাক্ত করা হলে, জেনারেট করা লাইব্রেরি GoogleJsonResponseException থ্রো করে।

সমস্যার উত্তর-এ উল্লেখ করা ফর্ম্যাট অনুযায়ী সমস্যাগুলি দেখানো হয়।

এইসব ব্যতিক্রম আপনি কীভাবে ম্যানেজ করতে পারেন তার একটি উপায় নিম্নলিখিত উদাহরণে দেখানো হয়েছে:

Drive.Files.List listFiles = drive.files.list();
try {
  FileList response = listFiles.execute();
  ...
} catch (GoogleJsonResponseException e) {
  System.err.println(e.getDetails());
}