Java 9 प्रतिक्रियाशील धाराएं बनाने के लिए समर्थन करता है कुछ इंटरफेस पेश करके:प्रकाशक , सदस्य , सदस्यता , और सबमिशन प्रकाशक वह वर्ग जो प्रकाशक . को लागू करता है इंटरफेस। प्रत्येक इंटरफ़ेस प्रतिक्रियाशील . के सिद्धांतों के अनुरूप एक अलग भूमिका निभा सकता है स्ट्रीम ।
हम सदस्य का उपयोग कर सकते हैं एक प्रकाशक . द्वारा प्रकाशित किए जा रहे डेटा की सदस्यता लेने के लिए इंटरफ़ेस . हमें सदस्य . को लागू करने की आवश्यकता है इंटरफ़ेस और सार विधियों के लिए कार्यान्वयन प्रदान करें।
Flow.Subscriber इंटरफ़ेस विधियाँ:
- पूर्ण होने पर (): इस विधि को तब कहा जाता है जब प्रकाशक वस्तु अपनी भूमिका पूरी करती है।
- ऑन एरर (): प्रकाशक में कुछ गलत होने पर इस विधि को बुलाया गया है और सब्सक्राइबर को सूचित किया जाता है।
- अगले पर (): जब भी प्रकाशक के पास सभी सब्सक्राइबर्स को सूचित करने के लिए नई जानकारी होती है, तो इस विधि को कहा जाता है।
- ऑनसब्सक्राइब(): जब प्रकाशक सब्सक्राइबर जोड़ता है तो इस विधि को बुलाया गया है।
उदाहरण
आयात करें मजबूत> { निजी प्रवाह.सदस्यता अंशदान; निजी बूलियन isDone; @ ओवरराइड करें सार्वजनिक शून्य सदस्यता पर (प्रवाह। सदस्यता सदस्यता) { System.out.println ("सदस्यता ली गई"); यह सदस्यता =सदस्यता; यह.सदस्यता.अनुरोध(1); } @ओवरराइड सार्वजनिक शून्य अगले पर (पूर्णांक आइटम) { System.out.println ("प्रसंस्करण" + आइटम); यह.सदस्यता.अनुरोध(1); } @ओवरराइड सार्वजनिक शून्य त्रुटि पर (फेंकने योग्य) {फेंकने योग्य.प्रिंटस्टैकट्रेस (); } @ओवरराइड सार्वजनिक शून्य पूर्ण पर () { System.out.println ("प्रसंस्करण किया गया"); हो गया =सच; } } सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग आर्ग []) इंटरप्टेड एक्सेप्शन फेंकता है { SubmissionPublisherआउटपुट
सब्सक्राइब्ड प्रोसेसिंग 1प्रोसेसिंग 2प्रोसेसिंग 3प्रोसेसिंग 4प्रोसेसिंग 5प्रोसेसिंग 6प्रोसेसिंग 7प्रोसेसिंग 8प्रोसेसिंग 9प्रोसेसिंग 10प्रोसेसिंग हो गई