Resolví el problema por mí mismo y estaba extremadamente emocionado. Aunque yo mismo no recibí ayuda, ¡espero que alguien más venga a este hilo y pueda hacerlo funcionar!
Así que tengo una aplicación Vaadin, que se ha compilado en un archivo WAR. Lo implementé en servidores OpenShift siguiendo los siguientes pasos:
Implementación de una aplicación web compilada en OpenShift
- Abra OpenShift en su navegador web. Inicie sesión en Openshift. Navegue hasta la aplicación en cuestión.
- Obtenga el código ssh de esa aplicación (debe estar a la derecha de la pantalla), ubicado a la derecha de los cartuchos. Copie ese código usando Comando-C o Ctrl-C.
- Abre la Terminal y escribe
git clone ssh:\\xxxxxxxxxxxxxxxx... - Si está en Mac, como yo, debería crear un directorio de proyecto en
Users/Username/Appname. Dentro de ese directorio, elimine la carpeta de origen ypom.xml. Tome su archivo WAR compilado y cópielo enwebappsdirectorio . - Ve a la terminal. Escribe
cd Appnamey luegogit add .,git commit -m "Deployment"y finalmentegit push. - Su aplicación ahora debería funcionar completamente en
www.openshiftappname-domainname.rhcloud.com/warfilename
Acceso MySQL
- Instale los cartuchos para MySQL y phpMyAdmin. Esto debería estar disponible a través de
Add Cartidgeen suopenshift.comcentro de aplicaciones. - Anote su
usernameypassworda la base de datos MySQL que OpenShift genera automáticamente para usted. Vaya awww.openshiftappname-domainname.rhcloud.com/phpmyadmin, ingrese las credenciales de autenticación. - Dentro de phpMyAdmin debe estar la dirección IP del servidor; se parece a
127.x.y.z:3306.x, y, and zpueden ser números de un solo dígito a tres dígitos. - Cree rápidamente una nueva
databasenombra lo que quieras. Voy a llamarlotesty luego, en consecuencia, producir una nueva tabla allí llamadatesttable. - Entonces, ¿recuerda su aplicación WAR implementada? Bueno, si está utilizando MySQL, apuesto a que ya lo ha incluido en su aplicación. Los pasos básicos para establecer una conexión a MySQL son como tales.
Código Java
Vaya al proyecto IDE abierto que compiló en su archivo WAR. Vaya a pom.xml dentro de su proyecto si es un proyecto Maven y agregue la dependencia:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.25</version>
</dependency>
- Luego use el siguiente código.
String s = "jdbc:mysql://" + host + ":" + port + "/" + name" , donde host es la server IP address , el puerto es 3306 y el nombre es el database name , en mi caso, 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();
}
Ahora if (con == null) No funcionó. Y si no es null , lo hizo.
Para probar, debe volver a compilar su archivo WAR (después de poner alguna forma de probarlo visualmente). Si necesita más ayuda, por favor deje un comentario. Debería funcionar cuando compila el archivo WAR y rehace los pasos 4-6 en la primera sección:Deployment of compiled webapp to OpenShift . ¡Gracias!