Java এর একটি ServiceLoader আছে৷ java.util থেকে ক্লাস প্যাকেজ যা লোকে সাহায্য করতে পারে পরিষেবা প্রদানকারী ক্লাসপথে অনুসন্ধান করে রানটাইমে। মডিউলগুলিতে সংজ্ঞায়িত পরিষেবা প্রদানকারীদের জন্য, আমরা পরিষেবা সহ মডিউলগুলি ঘোষণা করতে এবং এটি কীভাবে কাজ করে তার নমুনা অ্যাপ্লিকেশনটি দেখতে পারি৷
উদাহরণস্বরূপ, আমাদের একটি "test.app আছে৷ " মডিউল যা আমাদের লগার ব্যবহার করতে হবে যা System.getLogger() থেকে পুনরুদ্ধার করা যেতে পারে LoggerFinder এর সাহায্যে কারখানা পদ্ধতি পরিষেবা৷
৷module com.tutorialspoint.test.app { requires java.logging; exports com.tutorialspoint.platformlogging.app; uses java.lang.System.LoggerFinder; }
নীচে test.app.MainApp আছে৷ ক্লাস:
package com.tutorialspoint.platformlogging.app; public class MainApp { private static Logger LOGGER = System.getLogger(); public static void main(String args[]) { LOGGER.log(); } }
এটি হল লগারফাইন্ডার ৷ "পরীক্ষা এর ভিতরে বাস্তবায়ন ।লগিং " মডিউল:
package com.tutorialspoint.platformlogging.logger; public class MyLoggerFinder extends LoggerFinder { @Override public Logger getLogger(String name, Module module) { // return a Logger depending on name/module } }
"test.logging-এ " মডিউল ঘোষণা, আমরা লগারফাইন্ডার এর বাস্তবায়ন প্রদান করতে পারি একটি "প্রদান করে – এর সাথে পরিষেবা৷ " ধারা৷
৷module com.tutorialspoint.test.logging { provides java.lang.System.LoggerFinder with com.tutorialspoint.platformlogging.logger.MyLoggerFinder; }