Mysql
 sql >> Datenbank >  >> RDS >> Mysql

OpenShift-Webapps MySQL-Java-Verbindung

Ich habe das Problem selbst gelöst und war sehr begeistert. Obwohl ich selbst keine Hilfe erhalten habe, hoffe ich, dass jemand anderes diesen Thread entdeckt und in der Lage ist, es zum Laufen zu bringen!

Ich habe also eine Vaadin-Anwendung, die in eine WAR-Datei kompiliert wurde. Ich habe es mit den folgenden Schritten auf OpenShift-Servern bereitgestellt:

Bereitstellung der kompilierten Webanwendung auf OpenShift

  1. Öffnen Sie OpenShift in Ihrem Webbrowser. Melden Sie sich bei Openshift an. Navigieren Sie zur betreffenden Anwendung.
  2. Rufen Sie den ssh-Code dieser Anwendung ab (er sollte sich rechts neben dem Bildschirm befinden) und befindet sich rechts neben den Cartridges. Kopieren Sie diesen Code mit Befehl-C oder Strg-C.
  3. Öffnen Sie Terminal und geben Sie git clone ssh:\\xxxxxxxxxxxxxxxx... ein
  4. Wenn Sie wie ich einen Mac verwenden, sollte ein Projektverzeichnis unter Users/Username/Appname erstellt werden . Löschen Sie in diesem Verzeichnis den Quellordner und pom.xml . Nehmen Sie Ihre kompilierte WAR-Datei und kopieren Sie sie in die webapps Verzeichnis .
  5. Gehen Sie zum Terminal. Geben Sie cd Appname ein , und dann git add . , git commit -m "Deployment" und schließlich git push .
  6. Ihre Anwendung sollte jetzt unter www.openshiftappname-domainname.rhcloud.com/warfilename vollständig funktionieren

MySQL-Zugriff

  1. Installieren Sie die Cartridges für MySQL und phpMyAdmin. Dies sollte über Add Cartidge verfügbar sein unter openshift.com App-Hub.
  2. Notieren Sie Ihren username und password in die MySQL-Datenbank, die OpenShift automatisch für Sie generiert. Gehen Sie zu www.openshiftappname-domainname.rhcloud.com/phpmyadmin , geben Sie die Authentifizierungsdaten ein.
  3. In phpMyAdmin sollte die Server-IP-Adresse stehen; es sieht in etwa so aus:127.x.y.z:3306 . x, y, and z können einstellige bis dreistellige Zahlen sein.
  4. Erstellen Sie schnell eine neue database benannt, was Sie wollen. Ich werde es test nennen und dann konsequenterweise dort eine neue Tabelle mit dem Namen testtable erzeugen .
  5. Erinnern Sie sich an Ihre bereitgestellte WAR-Anwendung? Nun, wenn Sie MySQL verwenden, wetten Sie, dass Sie es bereits in Ihre Anwendung aufgenommen haben. Die grundlegenden Schritte zum Herstellen einer Verbindung zu MySQL sind wie folgt.

Java-Code

Gehen Sie zu dem offenen IDE-Projekt, das Sie in Ihre WAR-Datei kompiliert haben. Gehen Sie zur pom.xml in Ihrem Projekt, wenn es sich um ein Maven-Projekt handelt, und fügen Sie die Abhängigkeit hinzu:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.25</version>
 </dependency>
  1. Dann verwenden Sie den folgenden Code.

String s = "jdbc:mysql://" + host + ":" + port + "/" + name" , wobei host die server IP address ist , der Port ist 3306 und name ist der database name , in meinem Fall 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();
}

Jetzt if (con == null) Es hat nicht funktioniert. Und wenn es nicht null ist , das tat es.

Zum Testen sollten Sie Ihre WAR-Datei neu kompilieren (nachdem Sie sie irgendwie visuell getestet haben). Wenn Sie weitere Hilfe benötigen, hinterlassen Sie bitte einen Kommentar. Es sollte funktionieren, wenn Sie die WAR-Datei kompilieren und die Schritte 4-6 wiederholen im ersten Abschnitt:Deployment of compiled webapp to OpenShift . Danke!