मैं JBoss 7.1.1 फाइनल के सर्वर.लॉग फ़ाइल में निम्न (छंटनी) स्टैकट्रेस देख रहा हूं:
Caused by: org.postgresql.util.PSQLException:
ERROR: current transaction is aborted, commands ignored until end of
transaction block
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2102)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1835)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:512)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:374)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:302)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.6.0_23]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [rt.jar:1.6.0_23]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [rt.jar:1.6.0_23]
at java.lang.reflect.Method.invoke(Method.java:597) [rt.jar:1.6.0_23]
at org.postgresql.ds.jdbc23.AbstractJdbc23PooledConnection$StatementHandler.invoke(AbstractJdbc23PooledConnection.java:455)
at $Proxy49.executeUpdate(Unknown Source) at org.jboss.jca.adapters.jdbc.WrappedStatement.executeUpdate(WrappedStatement.java:371)
at org.infinispan.loaders.jdbc.TableManipulation.executeUpdateSql(TableManipulation.java:154) [infinispan-cachestore-jdbc-5.1.2.FINAL.jar:5.1.2.FINAL]
... 154 more
पोस्टग्रेज लॉग फाइल का निरीक्षण करने से निम्नलिखित कथनों का पता चलता है:
STATEMENT: SELECT count(*) FROM ISPN_MIXED_BINARY_TABLE_configCache
ERROR: current transaction is aborted, commands ignored until end of transaction block
STATEMENT: CREATE TABLE ISPN_MIXED_BINARY_TABLE_configCache(ID_COLUMN VARCHAR(255) NOT NULL, DATA_COLUMN BYTEA, TIMESTAMP_COLUMN BIGINT, PRIMARY KEY (ID_COLUMN))
ERROR: relation "ispn_mixed_binary_table_configcache" does not exist at character 22
मैं JBoss 7.1.1 फाइनल के साथ भेजे गए Infinispan का उपयोग कर रहा हूं, जो 5.1.2.Final है।
तो यह वही है जो मुझे लगता है कि हो रहा है:
SELECT count(*)...
यदि कोई रिकॉर्ड हैं, तो यह देखने के लिए इंफिनस्पैन स्टेटमेंट चलाने का प्रयास करता हैISPN_MIXED_BINARY_TABLE_configCache
;- किसी कारण से पोस्टग्रैज, इस कथन को पसंद नहीं करता है।
- Infinispan इस पर ध्यान नहीं देता है और
CREATE TABLE
बयान के साथ आगे की प्रतिज्ञा करता है - बारफॉर्स को पोस्ट करें क्योंकि यह अभी भी सोचता है कि यह वही लेन-देन है, जिसे इन्फिनस्पैन वापस रोल करने में विफल रहा है, और यह लेन-देन पहले
SELECT count(*)...
बयान से शाफ़्ट है ।
इस त्रुटि का क्या मतलब है और किसी भी विचार को कैसे काम करना है?
PSQLException: current transaction is aborted...
(25P02
) और शायद यह भीJPA
याHibernate
। अंत में यह हमारे (अच्छा!) लॉग-इन उपयोग केtoString()
कारण एक-- लोड किए गए डीएओ ऑब्जेक्ट के साथ खिलाया गया था जो त्रुटि का कारण था और अच्छी तरह से निगल लिया गया था (लेकिन मेरे द्वारा किसी का ध्यान नहीं दिया गया):log.info( "bla bla: {}", obj )
उत्पादितbla bla: [FAILED toString()]
। इसे बदलकर इसेlog.info( "bla bla: {}", String.valueOf( obj )
शून्य-सुरक्षित बना दिया गया है, लेकिन इसे निगल नहीं लिया गया है और इस प्रकार लेनदेन को असंबंधित क्वेरी पर विफल हो रहा है।