Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Conexão java mysql do OpenShift webapps


Resolvi o problema sozinho e fiquei extremamente empolgado. Embora eu não tenha recebido ajuda, espero que alguém apareça neste tópico e consiga fazê-lo funcionar!

Então eu tenho um aplicativo Vaadin, que foi compilado em um arquivo WAR. Eu o implantei nos servidores OpenShift seguindo as seguintes etapas:

Implantação de webapp compilado para OpenShift

  1. Abra o OpenShift no seu navegador. Faça login no Openshift. Navegue até o aplicativo em questão.
  2. Obtenha o código ssh desse aplicativo (deve estar à direita da tela), localizado à direita dos cartuchos. Copie esse código usando Command-C ou Ctrl-C.
  3. Abra o Terminal e digite git clone ssh:\\xxxxxxxxxxxxxxxx...
  4. Se você estiver no Mac, como eu, ele deve criar um diretório de projeto em Users/Username/Appname . Dentro desse diretório, exclua a pasta de origem e pom.xml . Pegue seu arquivo WAR compilado e copie-o para os webapps diretório .
  5. Vá para o Terminal. Digite cd Appname , e então git add . , git commit -m "Deployment" , e finalmente git push .
  6. Seu aplicativo agora deve funcionar totalmente em www.openshiftappname-domainname.rhcloud.com/warfilename

Acesso MySQL

  1. Instale os cartuchos para MySQL e phpMyAdmin. Isso deve estar disponível em Add Cartidge em seu openshift.com hub de aplicativos.
  2. Anote seu username e password para o banco de dados MySQL que o OpenShift gera automaticamente para você. Vá para www.openshiftappname-domainname.rhcloud.com/phpmyadmin , insira as credenciais de autenticação.
  3. Dentro do phpMyAdmin deve estar o endereço IP do servidor; parece algo como 127.x.y.z:3306 . x, y, and z pode ser de um dígito a três dígitos.
  4. Crie rapidamente um novo database nomeie o que quiser. Vou chamá-lo de test e, consequentemente, produzir uma nova tabela chamada testtable .
  5. Lembre-se do seu aplicativo WAR implantado? Bem, se você estiver usando MySQL, aposto que já o incluiu em sua aplicação. As etapas básicas para estabelecer uma conexão com o MySQL são assim.

Código Java


Vá para o projeto IDE aberto que você compilou em seu arquivo WAR. Vá para o pom.xml dentro do seu projeto se for um projeto Maven, e adicione a dependência:
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.25</version>
 </dependency>
  1. Em seguida, use o código a seguir.

String s = "jdbc:mysql://" + host + ":" + port + "/" + name" , onde host é o server IP address , a porta é 3306 e nome é o database name , no meu 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();
}

Agora if (con == null) não funcionou. E se não for null , fez.

Para testar, você deve recompilar seu arquivo WAR (depois de colocar alguma forma de testá-lo visualmente). Se precisar de mais ajuda, deixe um comentário. Deve funcionar quando você compilar o arquivo WAR e refazer as etapas 4-6 na primeira seção:Deployment of compiled webapp to OpenShift . Obrigado!