2011-08-10 16 views
6

मेरे पास OSGi EventAdmin सेवा के उपयोग के संबंध में एक सामान्य प्रश्न है। मैं वर्तमान में इसे एक सेटिंग में उपयोग कर रहा हूं जहां प्रति सेकंड हजारों घटनाएं उत्पन्न की जा सकती हैं। मेरा डर यह है कि EventAdmin सेवा एक बाधा हो सकती है। मेरे प्रोफाइलर से शुरुआती परिणाम मुझे इसका समर्थन करने लगते हैं। मेरे पास प्रश्न हैं:OSGi EventAdmin का उपयोग कब करें और कब नहीं?

  1. क्या EventAdmin सेवा का उपयोग करने के लिए अंगूठे का एक सामान्य नियम है?
  2. प्रदर्शन के संदर्भ में sendEvent और postEvent विधियां अलग-अलग कैसे होती हैं?
  3. क्या कोई विशेष ओएसजीआई कंटेनर है जो कम निष्पादित EventAdmin कार्यान्वयन के लिए जाना जाता है?

आपके समर्थन के लिए अग्रिम धन्यवाद!

चीयर्स, जोर्ज

उत्तर

6

आप टोंटी जैसा कि आप देख के बारे में अधिक जानकारी है?

हमारे पास कुछ प्रदर्शन समस्याओं की सहायता के लिए इवेंट एडमिन स्पेक के लिए एक अपडेट आ रहा है ([1] में आरएफसी 157 देखें)। लेकिन यह अभी तक spec काम पूरा नहीं हुआ है।

भेजें ईवेंट एक सिंक्रोनस भेजें, इसलिए कॉलिंग थ्रेड ब्लॉक जब तक सभी श्रोताओं को अधिसूचित नहीं किया जाता है। अधिकांश कार्यान्वयन कॉलर्स थ्रेड का उपयोग करते हैं। पोस्ट इवेंट कॉलर को अवरुद्ध नहीं करता है। यह घटना देने के लिए एक और धागे के लिए काम कतार में आता है। वर्तमान इवेंट एडमिन स्पेक को एसिंक घटनाओं के लिए ऑर्डर करने की आवश्यकता है, इसलिए अगर आदेश की आवश्यकता नहीं है तो इससे देरी हो सकती है। आरएफसी 157 इस आदेश की आवश्यकता नहीं है।

मेरे पास कोई डेटा नहीं है कि किसी एक से बेहतर या बदतर से पहले एक कार्यान्वयन।

[1] http://www.osgi.org/Download/File?url=/download/osgi-4.3-early-draft2.pdf

+0

मैं अब दोनों फेलिक्स और विषुव OSGi कंटेनर में हमारे कोड परीक्षण किया है। जो कुछ मैं देखता हूं, ऐसा लगता है कि फ़ेलिक्स अधिक प्रदर्शनकारी प्रतीत होता है कि ईवेंट हैंडलिंग के संबंध में विषुव। यह विषुव से कहीं अधिक स्मृति कुशल भी है। मुझे लगता है कि मैं उस समय के लिए फ़ेलिक्स के साथ रहूंगा। – BumbleGee

संबंधित मुद्दे