2011-01-04 17 views
13

ग्रीटिंग्स सभी मैं ट्रिगर या श्रोता (मुझे नहीं पता) जैसे कुछ करना चाहते हैं जो एक विशिष्ट डेटाबेस तालिका पर सुनेंगे, और इस तालिका पर डाले गए प्रत्येक नए रिकॉर्ड के साथ, कुछ जावा कोड करें, मेरा मतलब है कि यह पता लगाता है कि एक नया रिकॉर्ड डाला गया था और यदि यह संभव है तो पर यह डेटा प्राप्त करें मुझे इस प्रक्रिया को कैसे पूरा किया जा सकता है इसके बारे में कुछ मार्गदर्शिका चाहिए?जावा के साथ डेटाबेस श्रोता कैसे बनाएं?

मैं वसंत-हाइबरनेट-PostgreSQL

+0

मुझे लगता है कि सभी टिप्पणियां पढ़ने के बाद और ऐसा लगता है कि मैं अपना स्वयं का समाधान लागू करने जा रहा हूं। मैं जेएमएस का उपयोग किसी भी तरह से करने जा रहा हूं, इसलिए जब कोई क्लाइंट जेएमएस भेजता है, तो मैं डेटाबेस को अद्यतन करता हूं, मैं डेटा बदलने के सभी ग्राहकों को एक जेएमएस संदेश भेजूंगा .. ऐसा करने का एकमात्र गारंटी तरीका है, क्योंकि ट्रिगर्स लगते हैं एक दुःस्वप्न और मतदान एक भयानक समाधान है। – JPM

उत्तर

10

यह वही है LISTEN/NOTIFY के लिए बनाया गया है का उपयोग कर रहा हूँ।

एकमात्र कमी यह है कि आपको किसी प्रकार का पृष्ठभूमि धागा होना होगा जो नियमित रूप से डेटाबेस को चुनाव के लिए देखता है कि कोई अधिसूचना उपलब्ध है या नहीं।

तुम भी एक प्रारंभिक बिंदु

+0

आप डेटाबेस को मतदान नहीं कर रहे हैं ... आपके मतदान को क्लाइंट: http://jdbc.postgresql.org/documentation/publicapi/org/postgresql/PGConnection.html#getNotifications() –

+0

@AdamGent: बेशक आप सर्वर पर मतदान कर रहे हैं । क्लाइंट (पीजीकनेक्शन) सर्वर से पूछेगा "क्या कोई संदेश हैं?"। –

+0

शायद मैं वायरशर्क गलत पढ़ रहा हूं लेकिन मैं कसम खाता हूं कि ऐसा लगता है कि पीजी ड्राइवर उनसे पूछताछ के साथ नोटिफिकेशन प्राप्त कर रहा था। मैंने पढ़ा है कि पोस्टग्रेस ने कुछ असीमित समर्थन जोड़ा था और माना कि यह कुछ ऐसा हो सकता है। –

1

मुझे लगता है आप का मतलब है कि डीबी सामग्री अपने हाइबरनेट कोड के माध्यम से जोड़ा जाता है के लिए Postgres Wiki से कोड का उपयोग कर सकते हैं।

यदि ऐसा है, this previous answer of mine से पूछें कि Hibernate Event Listeners कैसे वसंत के साथ सेट अप करें।

अन्यथा, a-horse-with-no-name's answer सर्वोत्तम होना चाहिए।

1

आप सहेजने की घटनाओं का पता लगाने के लिए अपने हाइबरनेट कॉन्फ़िगरेशन में Interceptor जोड़ सकते हैं।

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