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 enwebapps
directorio . - Ve a la terminal. Escribe
cd Appname
y 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 Cartidge
en suopenshift.com
centro de aplicaciones. - Anote su
username
ypassword
a 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 z
pueden ser números de un solo dígito a tres dígitos. - Cree rápidamente una nueva
database
nombra lo que quieras. Voy a llamarlotest
y 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!