Java में एक सर्विस लोडर . है 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 . में "मॉड्यूल घोषणा, हम LoggerFinder . का कार्यान्वयन प्रदान कर सकते हैं एक "प्रदान करता है - के साथ . के साथ सेवा "खंड।
module com.tutorialspoint.test.logging { provides java.lang.System.LoggerFinder with com.tutorialspoint.platformlogging.logger.MyLoggerFinder; }