Spring Boot SSH Mysql?

8

Ich kann erfolgreich über die Workbench eine Verbindung zu meinem OpenShift-MySQL herstellen. Wie mache ich das Gleiche mit meiner Spring-Boot-Anwendung?

in meiner application.properties:

%Vor%

Wo gebe ich meinen privaten Schlüssel an?

    
tery 04.11.2015, 16:01
quelle

2 Antworten

7

Um von Ihrer lokalen App über SSH auf Ihren Mysql-Server zugreifen zu können (zB mit MySql-Openshift), müssen Sie nur noch eine SSH-Verbindung vor Ihrem DataSource-Objekt aufbauen versucht eine Verbindung herzustellen.

Wie immer und glücklicherweise gibt es mehrere Möglichkeiten, das zu tun, aber ich würde versuchen, das einfachste zu erklären, das für mich funktioniert hat.

1) Jcraft-Bibliothek zu Ihrem Klassenpfad hinzufügen (Wird für die Arbeit mit SSH-Verbindungen verwendet)

Wenn du Maven benutzt, füge diese Elemente zu deiner pom.xml hinzu:

%Vor%

oder laden Sie es einfach von Ссылка

herunter

2) Erstellen Sie eine Klasse für die Verbindung mit Ihrem SSH-Server (Hier verwenden wir die im vorherigen Schritt importierte Bibliothek)

Zum Beispiel:

%Vor%

Diese Klasse enthält alle relevanten Informationen zum Aufbau einer SSH-Verbindung. Beachten Sie, dass wir nur zwei Methoden definiert haben: den Konstruktor, um die SSH-Verbindung zu instanziieren, dargestellt durch das einzige nicht statische Feld der Klasse, und andere, um die SSH-Verbindung zu trennen / zu schließen.

3) Definieren Sie einen Listener, der die ServletContextListener-Schnittstelle implementiert () und ein Objekt der in Schritt 2 definierten Klasse enthält)

Beachten Sie, dass wir versuchen, eine ssh-Verbindung zu erstellen, wenn unsere App gestartet wird, und sie zu schließen, wenn unsere App stirbt.

%Vor%

4) Setzen Sie mit Spring das DataSource-Objekt wie gewohnt in Ihrer Dispatcher-servlet.xml ein, zeigt jedoch auf Ihren footierten Port

%Vor%

Und das ist alles. Eine andere Möglichkeit könnte sein, eine eigene DataSource zu erstellen, die von Spring bereitgestellte zu erweitern und ihr die SSH-Funktionalität hinzuzufügen. Vielleicht ist die hier beschriebene Lösung besser isoliert.

    
Val Martinez 29.01.2016 23:47
quelle
-1

In openshipt verbinden Sie sich direkt mit der MySQL Datenbank.

Openshift bietet Ihnen eine Reihe von Umgebungsvariablen. Siehe: Ссылка

Sie müssen diese zum Verbinden verwenden

Innerhalb Ihres application.properties können Sie Umgebungsvariablen wie folgt verwenden:

%Vor%

Dabei ist OPENSHIFT_MYSQL_DB_HOST der Name der Umgebungsvariablen und localhost der Standardwert.

    
d0x 08.11.2015 12:12
quelle

Tags und Links