Java 9 के बाद से, हम R . बना सकते हैं सक्रिय धाराएं चार मुख्य इंटरफ़ेस पेश करके:प्रकाशक , सदस्य , सदस्यता , प्रोसेसर , और एक ठोस वर्ग:सबमिशन प्रकाशक जो प्रकाशक . को लागू करता है इंटरफेस। प्रतिक्रियाशील . के सिद्धांतों के अनुरूप प्रत्येक इंटरफ़ेस एक अलग भूमिका निभाता है स्ट्रीम . हम सबमिट () . का उपयोग कर सकते हैं सबमिशन प्रकाशक . की विधि प्रत्येक ग्राहक को प्रदान की गई वस्तु को प्रकाशित करने के लिए कक्षा।
वाक्यविन्यास
पब्लिक क्लास सबमिशन पब्लिशरऑब्जेक्ट इम्प्लीमेंट्स फ़्लो का विस्तार करता है। पब्लिशर , ऑटोक्लोज़ेबल
नीचे दिए गए उदाहरण में, हम सबमिशन प्रकाशक . को लागू कर सकते हैं कक्षा
उदाहरण
आयात करें> { निजी सदस्यता अंशदान; निजी स्ट्रिंग नाम; सार्वजनिक MySubscriber (स्ट्रिंग नाम) {this.name =name; } @ओवरराइड सार्वजनिक शून्य पूर्ण पर () { System.out.println (नाम + ":पूर्ण पर"); } @ओवरराइड सार्वजनिक शून्य त्रुटि पर (फेंकने योग्य टी) {System.out.println (नाम + ":onError"); टी.प्रिंटस्टैकट्रेस (); } @ओवरराइड सार्वजनिक शून्य अगले पर (टी संदेश) { System.out.println (नाम + ":" + msg.toString () + "ऑननेक्स्ट में प्राप्त"); सदस्यता।अनुरोध (1); } @ओवरराइड सार्वजनिक शून्य सदस्यता पर (सदस्यता सदस्यता) { System.out.println (नाम + ":सदस्यता लें"); यह सदस्यता =सदस्यता; सदस्यता।अनुरोध (1); }}// मुख्य वर्ग पब्लिक क्लास फ़्लोटेस्ट {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग आर्ग्स []) { सबमिशन प्रकाशक <स्ट्रिंग> प्रकाशक =नया सबमिशनप्रकाशक <>(); माईसब्सक्राइबर <स्ट्रिंग> सब्सक्राइबर =नया माईसब्सक्राइबर <> ("मेरा"); MySubscriberआउटपुट
आपका:ऑनसब्सक्राइबउसका:ऑनसब्सक्राइबमाइन:ऑनसब्सक्राइब उसका:एक प्राप्त हुआअगलाआपका:एक पर प्राप्त हुआअगलाआपका:एक पर प्राप्त हुआअगलाआपका:दो पर प्राप्त हुआअगलाउसका:दो पर प्राप्त हुआअगलाआपका:तीन पर प्राप्त हुआअगलामाईन:दो पर प्राप्त हुआअगलाआपका:चार पर प्राप्त हुआअगलाउसका:तीन पर प्राप्त हुआअगलाआपका:पांच प्राप्त हुआअगलामाईन:तीन प्राप्त हुआअगलाउसका:ऑनसब्सक्राइबउसका:चार पर प्राप्त हुआअगलाउसका:एक प्राप्त हुआअगलामाईन:चार पर प्राप्त हुआअगलाउसका:दो पर प्राप्त हुआअगलाउसका:पांच पर प्राप्त हुआअगलाउसे:तीन प्राप्त ऑननेक्स्टमाइन में :पांच प्राप्त हुए onNextHer:चार प्राप्त onNextHer:पांच प्राप्त onNextYours:onCompleteHis:onCompleteMine:onCompleteHer:onComplete