2017-12-11 26 views
6

मेरे आवेदन में, मैंने देखा है कि हॉर्नेटक 2.4.1 संदेश पत्रिका फाइलों को पिल कर रहा है, (कभी-कभी हजारों में।) मैं जेएनएमएस क्यूईज़ के माध्यम से हॉर्नेटक का उपयोग कर रहा हूं और हम इसका उपयोग कर रहे हैं वाइल्डफ्लाई 8.2। आम तौर पर, सर्वर इंस्टेंस प्रारंभ करते समय, हॉर्नसेटक में 3 मैसेजिंग जर्नल और लॉक फ़ाइल होगी।हॉर्नेटक पर्सिस्टेंस फाइलों को हटा नहीं रहा है

संदेश पत्रिका फ़ाइलों की पाइलिंग अप मुद्दों का कारण बना है जब सर्वर को पुन: प्रारंभ में, हम एक लॉग जो यह बताता है देखेंगे:

HQ221014: 54% loaded

है, सर्वर लोड ठीक फ़ाइलों को हटाने। मैंने कुछ प्रयोग किया है, और ऐसा प्रतीत होता है कि इन फ़ाइलों में संदेशों को पहले ही संसाधित कर दिया गया है, लेकिन मुझे यकीन नहीं है कि वे समय के साथ क्यों ढेर रहते हैं।

संपादित करें 1: मुझे this link मिला है जो इंगित करता है कि हम संदेश स्वीकार नहीं कर रहे हैं। हालांकि, जब हम connection.createSession(false,Session.AUTO_ACKNOWLEDGE); जैसे सत्र बनाते हैं।

मैं एक समाधान की तलाश जारी रखूंगा।

+1

आप XA लेन-देन या JMS लेनदेन का उपयोग कर रहे हैं? और आप स्टैंडअलोन.एक्सएमएल में अपने संसाधन एडाप्टर को कैसे परिभाषित करते हैं? – user2612030

+0

मैं एक्सए लेनदेन का उपयोग कर रहा हूं। मुझे थोड़ा सा संसाधन एडाप्टर के बारे में अधिक जानकारी मिल जाएगी। – dimwittedanimal

+1

यदि आप एक्सए लेनदेन का उपयोग कर रहे हैं तो इससे कोई फर्क नहीं पड़ता कि आप उपरोक्त सत्र के साथ क्या करते हैं। जब एक्सए लेनदेन किया जाता है तो संदेशों को स्वीकार किया जाना चाहिए। मुझे हॉर्नेटक के बारे में पता नहीं है, लेकिन आम तौर पर यह एक ऐसा क्षेत्र है जहां कई उत्पाद थोड़ी छोटी हैं। – user2612030

उत्तर

0

मुझे यह पता चला है कि यह कारण हुआ है (0 कारण या किसी अन्य कारण से, मुझे वर्तमान में विश्वास है कि इसमें सर्वर लोड या नेटवर्क हैंग के साथ कुछ करना है) afterDelivery() विधि को कॉल करने में विफलता से। मैं इस कतार को इतनी बार मारकर इसे संबोधित कर रहा हूं। यह सुरुचिपूर्ण नहीं है, लेकिन यह मेरे उद्देश्य की सेवा करता है।

HornetQ संदेशों मैंने पाया निम्नलिखित लॉग में देखें:

HQ152006: Unable to call after delivery 
javax.transaction.RollbackException: ARJUNA016053: Could not commit transaction. at org.jboss.as.ejb3.inflow.MessageEndpointInvocationHandler.afterDelivery(MessageEndpointInvocationHandler.java:87) 

HQ222144: Queue could not finish waiting executors. Try increasing the thread pool size 

HQ222172: Queue jms.queue.myQueue was busy for more than 10,000 milliseconds. There are possibly consumers hanging on a network operation 
संबंधित मुद्दे