यह इंटरफ़ेस असंगति है। javax.sql.DataSource
एक विधि
को परिभाषित करता है
default ConnectionBuilder createConnectionBuilder() throws SQLException
और अनुबंध के अनुसार वापसी मूल्य कनेक्शनबिल्डर प्रकार का होना चाहिए।
यदि आप oracle.ucp.jdbc.PoolDataSourceImpl के दस्तावेज़ीकरण पर एक नज़र डालते हैं, तो यह विधि को
के रूप में परिभाषित करता हैpublic UCPConnectionBuilder createConnectionBuilder()
जबकि oracle.ucp.jdbc.UCPConnectionBuilder
java.sql.ConnectionBuilder
. का उपप्रकार नहीं है .
अब जब तक Oracle oracle.ucp.jdbc.UCPConnectionBuilder
का कभी नहीं संस्करण जारी करता है इंटरफ़ेस जो java.sql.ConnectionBuilder
. का विस्तार करता है , आप UCP PoolDataSource को javax.sql.DataSource
से इंटरचेंज नहीं कर पाएंगे .
इस बिंदु पर नवीनतम रिलीज़ UCP प्रतीत होती है 19.3 , जो अभी भी उसी समस्या से टकराएगा जो दुर्भाग्यपूर्ण है क्योंकि 19.3 को JDK11 अनुरूप के रूप में विज्ञापित किया गया है। डेटासोर्स इंटरफ़ेस में नए प्रवेशकर्ता createConnectionBuilder के बारे में अनुरक्षकों को जागरूक करने के लिए कृपया Oracle UCP के विरुद्ध एक बग उठाएं।
अंतरिम में, यदि यह संभव है, तो आप UCP के 11g रिलीज़ 2 (12 नहीं, 19 नहीं) का उपयोग करने के लिए वापस आ सकते हैं, जिसमें PoolDataSource इंटरफ़ेस पर createConnectionBuilder विधि नहीं है। एक आदर्श स्थिति नहीं है, क्योंकि आप 11g पर वापस जाकर UCP में एक दशक के सुधार को छोड़ रहे हैं।