हमारे डिज़ाइन में एक jvm है जो एक jboss/webapp (पढ़/लिखना) है जिसका उपयोग हाइबरनेट (जेपीए का उपयोग करके) को डीबी में बनाए रखने के लिए किया जाता है। इस संबंध में संबंधों में 3-5 स्तरों के साथ मॉडल में 10-15 लगातार कक्षाएं हैं।दो जावा अनुप्रयोगों को चलाने वाले हाइबरनेट कैश स्थिरता को कैसे बनाए रखें?
हमारे पास एक अलग जेवीएम है जो इस डेटा का उपयोग कर सर्वर है। चूंकि यह लगातार चल रहा है, हमारे पास सिर्फ एक लंबा डीबी सत्र है (केवल पढ़ने के लिए)। इसलिए हम स्वयं दूसरे से JVM संकेत -
वर्तमान में कोई अंतर JVM कैश शामिल है।
अब जब वेबपैप कुछ डेटा बदलता है, तो यह सर्वर को बदले गए डेटा को पुनः लोड करने के लिए संकेत देता है। हमने जो पाया है वह है कि हमें डेटा को शुद्ध करने के लिए हाइबरनेट को बताना होगा और फिर इसे पुनः लोड करना होगा। बस डीबी के साथ एक fetch/विलय करना नौकरी नहीं करता है - मुख्य रूप से वस्तुओं के संबंध में पदानुक्रम के नीचे कई परतें।
कि क्या वहाँ कुछ भी इस डिजाइन के साथ या अगर किसी को भी इस कर रहा है और पुनः लोड पर हाइबरनेट के साथ काम करने के साथ बेहतर किस्मत पड़ा है मौलिक रूप से गलत है पर कोई विचार।
धन्यवाद, क्रिस
जेपीए का उपयोग करना, और @PersistenceContext EntityManager पाने के लिए - लेकिन ऐसा लगता है कि हम एक EntityManagerFactory के लिए @PersistenceUnit की जरूरत है और डेटा ताज़ा करने के लिए, हम एक नई EntityManager मिलता है। ठीक लगता है - लेकिन चीज़ों को अद्यतन करने के लिए भारी हाथी तरीका, लेकिन अगर लोग ऐसा करते हैं ... –