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
- Ouvrez OpenShift dans votre navigateur Web. Connectez-vous à Openshift. Accédez à l'application en question.
- 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.
- Ouvrez Terminal et tapez
git clone ssh:\\xxxxxxxxxxxxxxxx...
- 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 etpom.xml
. Prenez votre fichier WAR compilé et copiez-le dans leswebapps
répertoire . - Allez au terminal. Tapez
cd Appname
, puisgit add .
,git commit -m "Deployment"
, et enfingit push
. - Votre application devrait maintenant fonctionner pleinement sur
www.openshiftappname-domainname.rhcloud.com/warfilename
Accès MySQL
- Installez les cartouches pour MySQL et phpMyAdmin. Cela devrait être disponible via
Add Cartidge
sur votreopenshift.com
hub d'applications. - Notez votre
username
etpassword
à la base de données MySQL qu'OpenShift génère automatiquement pour vous. Allez surwww.openshiftappname-domainname.rhcloud.com/phpmyadmin
, entrez les identifiants d'authentification. - 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. - Créer rapidement une nouvelle
database
nommé ce que vous voulez. Je vais l'appelertest
puis produire par conséquent une nouvelle table nomméetesttable
. - 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>
- 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 !