Mysql
 sql >> Base de données >  >> RDS >> Mysql

Connexion openshift webapps mysql java

J'ai résolu le problème par moi-même et j'étais extrêmement excité. Bien que je n'ai pas reçu d'aide moi-même, j'espère que quelqu'un d'autre suivra ce fil et pourra le faire fonctionner !

J'ai donc une application Vaadin, qui a été compilée dans un fichier WAR. Je l'ai déployé sur les serveurs OpenShift en procédant comme suit :

Déploiement de l'application Web compilée sur OpenShift

  1. Ouvrez OpenShift dans votre navigateur Web. Connectez-vous à Openshift. Accédez à l'application en question.
  2. Obtenez le code ssh de cette application (il devrait être à droite de l'écran), situé à droite des cartouches. Copiez ce code en utilisant Commande-C ou Ctrl-C.
  3. Ouvrez Terminal et tapez git clone ssh:\\xxxxxxxxxxxxxxxx...
  4. Si vous êtes sur Mac, comme moi, il devrait créer un répertoire de projet dans Users/Username/Appname . Dans ce répertoire, supprimez le dossier source et pom.xml . Prenez votre fichier WAR compilé et copiez-le dans les webapps répertoire .
  5. Allez au terminal. Tapez cd Appname , puis git add . , git commit -m "Deployment" , et enfin git push .
  6. Votre application devrait maintenant fonctionner pleinement sur www.openshiftappname-domainname.rhcloud.com/warfilename

Accès MySQL

  1. Installez les cartouches pour MySQL et phpMyAdmin. Cela devrait être disponible via Add Cartidge sur votre openshift.com hub d'applications.
  2. Notez votre username et password à la base de données MySQL qu'OpenShift génère automatiquement pour vous. Allez sur www.openshiftappname-domainname.rhcloud.com/phpmyadmin , entrez les identifiants d'authentification.
  3. Dans phpMyAdmin, il devrait y avoir l'adresse IP du serveur ; il ressemble à quelque chose comme 127.x.y.z:3306 . x, y, and z peut être un nombre à un ou trois chiffres.
  4. Créer rapidement une nouvelle database nommé ce que vous voulez. Je vais l'appeler test puis produire par conséquent une nouvelle table nommée testtable .
  5. Alors, vous souvenez-vous de votre application WAR déployée ? Eh bien, si vous utilisez MySQL, je parie que vous l'avez déjà inclus dans votre application. Les étapes de base pour établir une connexion à MySQL sont les suivantes.

Code Java

Accédez au projet IDE ouvert que vous avez compilé dans votre fichier WAR. Accédez au fichier pom.xml dans votre projet s'il s'agit d'un projet Maven et ajoutez la dépendance :

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.25</version>
 </dependency>
  1. Utilisez ensuite le code suivant.

String s = "jdbc:mysql://" + host + ":" + port + "/" + name" , où host est l'server IP address , le port est 3306 et name est le database name , dans mon cas, 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();
}

Maintenant if (con == null) cela n'a pas fonctionné. Et si ce n'est pas null , ça faisait.

Pour tester, vous devez recompiler votre fichier WAR (après l'avoir testé visuellement). Si vous avez besoin d'aide supplémentaire, veuillez laisser un commentaire. Cela devrait fonctionner lorsque vous compilez le fichier WAR et refaites les étapes 4-6 dans la première section :Deployment of compiled webapp to OpenShift . Merci !