Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

एसिंक्रोनस जेएमएस श्रोता को प्रारंभ करने के लिए सही दृष्टिकोण और इसे असीमित रूप से चलाने दें

जेएमएस उपभोक्ता बनाने और उसके संदेश श्रोता को सेट करने के लिए थ्रेड चलाने का कोई कारण नहीं है। एक जेएमएस संदेश श्रोता का पूरा बिंदु संदेश को असीमित रूप से प्राप्त करना है (कार्यक्षमता जिसे आप किसी कारण से डुप्लिकेट करने का प्रयास कर रहे हैं)।

आपको बस जेएमएस उपभोक्ता बनाना होगा और संदेश श्रोता सेट करना होगा और फिर सुनिश्चित करना होगा कि उपभोक्ता बंद नहीं है। एप्लिकेशन को कैसे लिखा जाता है, इसके आधार पर कभी-कभी while . होना आवश्यक होता है यह सुनिश्चित करने के लिए लूप करें कि प्रोग्राम समाप्त नहीं होता है और इसलिए उपभोक्ता को बंद कर देता है। आपका धागा ऐसा नहीं कर रहा है। यह 5 सेकंड के लिए संदेशों की प्रतीक्षा करने के बाद उपभोक्ता को दायरे से बाहर होने दे रहा है जिसका अर्थ है कि यह कचरा एकत्र किया जाएगा और मैं अधिकांश जेएमएस कार्यान्वयन की अपेक्षा करता हूं जिसका अर्थ है कि यह बंद हो जाएगा। हालांकि यह इससे भी बुरा हो सकता है। उपभोक्ता को स्पष्ट रूप से बंद न करने और इसे दायरे से बाहर होने देने से आप उपभोक्ताओं को लीक कर सकते हैं जो अंततः आपके संदेश दलाल को रोक देगा। यह न केवल मैला प्रोग्रामिंग है, बल्कि संदेशों का उपभोग करने की कोशिश कर रहे अन्य उपयोगकर्ताओं के लिए संभावित रूप से समस्याग्रस्त है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle 10 ऑप्टिमाइज़र RULE से COST तक:क्यों?

  2. ईबीएस 12.2 . में वेब पोर्ट कैसे बदलें

  3. ओरेकल डेटाबेस में अरबी वर्ण सम्मिलित नहीं कर सकता

  4. मूल्यों के क्रम को ध्यान में रखते हुए समूह पंक्तियाँ

  5. Oracle SQL के साथ सामान्य सुविधाओं को साझा करने वाले व्यक्तियों को फ़्लैग करें