मेरे पास निम्नलिखित घटकों के साथ एक कराफ कार्यक्रम है:

  1. करफ 4.0.7;
  2. हाइबरनेट 4.3.7;
  3. मैसकल जेडीबीसी कनेक्टर 5.1.27;
  4. C3P0 0.9.5।

मैंने अभी एक नया विकास वातावरण स्थापित किया है जहाँ मैं Mysql 8.0.11 (हाल ही में जारी) का उपयोग कर रहा हूँ। मैंने पहले से ही स्थानीय रूप से अपने माइस्क्ल कनेक्टर को 5.1.46 में अपग्रेड किया है, इसलिए यह माइस्क्ल 8 के साथ संगत है, और यह ज्यादातर काम करता है। हालांकि, मुझे एसएसएल के बारे में मेरे कराफ कंसोल में कुछ चेतावनियां मिल रही हैं:

बुध अप्रैल 25 09:28:29 सीईएसटी 2018 चेतावनी: सर्वर की पहचान सत्यापन के बिना एसएसएल कनेक्शन स्थापित करने की अनुशंसा नहीं की जाती है। यदि स्पष्ट विकल्प सेट नहीं है, तो MySQL 5.5.45+, 5.6.26+ और 5.7.6+ आवश्यकताओं के अनुसार SSL कनेक्शन डिफ़ॉल्ट रूप से स्थापित होना चाहिए। एसएसएल का उपयोग नहीं करने वाले मौजूदा अनुप्रयोगों के अनुपालन के लिए सत्यापन सर्वर प्रमाणपत्र संपत्ति 'गलत' पर सेट है। आपको या तो useSSL=false सेट करके SSL को स्पष्ट रूप से अक्षम करना होगा, या useSSL=true सेट करना होगा और सर्वर प्रमाणपत्र सत्यापन के लिए ट्रस्टस्टोर प्रदान करना होगा।

मैं एसएसएल को स्थानीय रूप से अक्षम करना चाहता हूं, लेकिन कनेक्शन स्ट्रिंग के अंत में &useSSL=false जोड़ने का अनुशंसित सुझाव काम नहीं करता है। यह मेरा कनेक्शनस्ट्रिंग है:

hibernate.connection.url=jdbc:mysql://localhost:3306/dbname?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&requireSSL=false

मैं क्या गलत कर रहा हूं?

1
Nzall 25 अप्रैल 2018, 15:42

1 उत्तर

सबसे बढ़िया उत्तर

MySql और हाइबरनेट एसएसएल कनेक्शन पर आने के बाद, मुझे पता चला कि इसमें एसएसएल का उपयोग और एसएसएल गुणों की आवश्यकता है मामला jdbc url में नहीं जोड़ा जाना चाहिए जैसे कि वे एक Tomcat webapp.xml फ़ाइल का उपयोग कर रहे होंगे (जैसा कि मैंने मूल रूप से सोचा था कि यह काम करेगा), बल्कि अलग hibernate.connection.useSSL और hibernate.connection.requireSSL गुणों के रूप में जोड़ा गया।

उपयोग:

hibernate.connection.useSSL=false
hibernate.connection.requireSSL=false

इन 2 पंक्तियों को मेरे hibernate.properties फ़ाइल में karaf में जोड़ने से चेतावनियाँ हटा दी गईं।

0
Nzall 25 अप्रैल 2018, 15:42