Sieht aus wie der Pipelineservice in Bluemix aktualisiert wurde, die Verbindung zu ClearDB funktioniert jetzt wunderbar! Danke an alle, die diese Veränderung vorangetrieben haben! :)
-
ich den Code leite im Bluemix bauen & Deploy-Pipeline, nicht innerhalb der Liberty Profil App-Server (die Anwendung arbeitet dort in Ordnung), liegt das Problem auf der BUILD-Stufe der Pipeline (MVN saubere Installation), während meine Unit-Tests laufen, hier ist die Fehlermeldung
Bau neuer Hibernate Session 2015.04.11 15.04.49 [main] eRROR ohutil.JDBCExceptionReporter - Kommunikationsverbindungsfehler
Das letzte erfolgreich an den Server gesendete Paket war 0 Millisekunden vor. Der Treiber hat keine Pakete vom Server erhalten.
Die Unit Test-Klassen können keine Verbindung zur Datenbank herstellen.
Mein Code hat nichts besonderes, Sie können jede Standard-JDBC-Verbindung in einer JUnit-Testklasse erstellen und versuchen, eine Verbindung mit der Datenbank herzustellen, aber wenn Sie diese Verbindungsbeschränkung leicht bestätigen möchten, können Sie hier testen dies ohne Java-Code:
- eine App Liberty-Profil erstellen mit einigen Starter-Code
- die "ClearDB MySQL" Service, um es erstellen und binden
- In der App Übersichtsseite, erweitern sie die ClearDB Box durch klicken auf "Show Credentials" und kopieren Sie den Hostnamen (zB us-cdbr-test-west-07.cleardb.net).
- hinzufügen GIT, zurück zum App Übersicht, klicken Sie auf Code bearbeiten, klicken Sie auf „Build & Deploy“, klicken Sie auf das Symbol Konfiguration der „BUILD Stage“, wählen Sie „Configure Stage“ und fügen Sie den folgenden Code die Kommandobox:
Code
REMOTEHOST=us-cdbr-test-west-07.cleardb.net
REMOTEPORT=3306
TIMEOUT=1
if nc -w $TIMEOUT -z $REMOTEHOST $REMOTEPORT; then
echo "I was able to connect to ${REMOTEHOST}:${REMOTEPORT}"
else
echo "Connection to ${REMOTEHOST}:${REMOTEPORT} failed; exit code from netcat was $?"
fi
- die BUILD Bühne starten und prüfen, ob diese Meldung erscheint:
[86d18f86-4ade-4e02-8282-171dc9757272] $ /bin/bash /tmp/hudson5506792757013948518.sh Connection to us-cdbr-test-west-07.cleardb.net:3306 failed; exit code from netcat was 1
Bitte lassen Sie wissen, ob es einen Weg gibt ist die Pipeline zu konfigurieren, damit es mit ClearDB kommunizieren kann.
Heutzutage sind die Build- und Deploy-Server für ausgehende Verbindungen zu Port 80 und 443 begrenzt. Wir untersuchen derzeit, ob wir diese Beschränkung für diese Build-Server lockern und dennoch die erforderliche Sicherheitskonformität beibehalten können.Wir erkennen, dass dies eine große Einschränkung ist, die angegangen werden muss. Danke für deinen Fehlerbericht. Brian K. Martin IBM Bluemix Entwicklung –
Können wir den Maschinen erlauben, mindestens mit den DB Services zu kommunizieren, die an die Pipeline der APP gebunden sind? Oder vielleicht alle ausgehenden Anfragen auf Port 3306? - Irgendeine Idee, wenn solche Änderung eingeführt werden könnte? – theMarceloR
Sie sollten Ihr "gelöstes" Update als Antwort hinzufügen und akzeptieren. – jpapejr