मैंने खुद इस मुद्दे को सुलझा लिया है और मैं बेहद उत्साहित हूं। हालांकि मुझे स्वयं सहायता नहीं मिली, मुझे आशा है कि कोई और इस धागे के साथ आएगा और इसे काम करने में सक्षम होगा!
तो मेरे पास एक वाडिन एप्लिकेशन है, जिसे एक WAR फ़ाइल में संकलित किया गया है। मैंने इसे निम्न चरणों द्वारा OpenShift सर्वर पर परिनियोजित किया:
संकलित वेबएप को OpenShift में परिनियोजित करना
- अपने वेब ब्राउज़र में OpenShift खोलें। ओपनशिफ्ट में लॉग इन करें। विचाराधीन आवेदन पर नेविगेट करें।
- कार्ट्रिज के दाईं ओर स्थित उस एप्लिकेशन का ssh कोड प्राप्त करें (यह स्क्रीन के दाईं ओर होना चाहिए)। कमांड-सी या Ctrl-C का उपयोग करके उस कोड को कॉपी करें।
- टर्मिनल खोलें और
git clone ssh:\\xxxxxxxxxxxxxxxx...टाइप करें - यदि आप मैक पर हैं, जैसे मैं हूं, तो उसे
Users/Username/Appnameपर एक प्रोजेक्ट निर्देशिका बनानी चाहिए . उस निर्देशिका के अंदर, स्रोत फ़ोल्डर औरpom.xml. को हटा दें . अपनी संकलित WAR फ़ाइल लें और उसेwebapps. में कॉपी करें निर्देशिका । - टर्मिनल पर जाएं। टाइप करें
cd Appname, और फिरgit add .,git commit -m "Deployment", और अंत मेंgit push। - आपका आवेदन अब
www.openshiftappname-domainname.rhcloud.com/warfilenameपर पूरी तरह से काम करना चाहिए
MySQL एक्सेस
- MySQL और phpMyAdmin के लिए कार्ट्रिज स्थापित करें। यह
Add Cartidge. के माध्यम से उपलब्ध होना चाहिए आपकेopenshift.com. पर ऐप हब. - अपना
usernameनोट करें औरpasswordMySQL डेटाबेस के लिए जो OpenShift स्वचालित रूप से आपके लिए उत्पन्न करता है।www.openshiftappname-domainname.rhcloud.com/phpmyadminपर जाएं , प्रमाणीकरण क्रेडेंशियल दर्ज करें। - phpMyAdmin के अंदर सर्वर का IP पता होना चाहिए; यह कुछ इस तरह दिखता है
127.x.y.z:3306.x, y, and zएकल अंक से तीन अंकों की संख्या हो सकती है। - त्वरित रूप से एक नया
databaseबनाएं आप जो चाहते हैं उसे नाम दें। मैं इसेtestनाम देने जा रहा हूं और फिर परिणामस्वरूपtesttable. नामक एक नई तालिका तैयार करें । - तो अपने तैनात WAR एप्लिकेशन को याद रखें? ठीक है, यदि आप MySQL का उपयोग कर रहे हैं, तो मुझे यकीन है कि आपने इसे पहले ही अपने आवेदन में शामिल कर लिया है। MySQL से कनेक्शन स्थापित करने के लिए बुनियादी कदम इस प्रकार हैं।
जावा कोड
ओपन आईडीई प्रोजेक्ट पर जाएं जिसे आपने अपनी WAR फाइल में संकलित किया है। अपने प्रोजेक्ट के अंदर pom.xml पर जाएं यदि यह एक मावेन प्रोजेक्ट है, और निर्भरता जोड़ें:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.25</version>
</dependency>
- फिर निम्नलिखित कोड का प्रयोग करें।
String s = "jdbc:mysql://" + host + ":" + port + "/" + name" , जहां होस्ट server IP address है , पोर्ट 3306 . है और नाम है database name , मेरे मामले में, test ।
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {
Connection con = DriverManager.getConnection(s, username, password);
}
catch (SQLException e) {
e.printStackTrace();
}
अब if (con == null) काम नहीं किया। और अगर यह null नहीं है , ऐसा किया था।
परीक्षण करने के लिए, आपको अपनी WAR फ़ाइल को पुन:संकलित करना चाहिए (इसे दृष्टि से परीक्षण करने का कोई तरीका डालने के बाद)। अगर आपको और मदद चाहिए तो कृपया एक टिप्पणी छोड़ दें। यह तब काम करना चाहिए जब आप WAR फ़ाइल संकलित करते हैं और चरणों को फिर से करते हैं 4-6 पहले खंड में:Deployment of compiled webapp to OpenShift . धन्यवाद!