解决了!
看起来 Bluemix 中的管道服务已经更新,与 ClearDB 的连接现在可以正常工作了!感谢推动这一变化的人!:)
--
我在 Bluemix 构建和部署管道内运行代码,而不是在 Liberty Profile 应用程序服务器内(应用程序在那里运行良好),问题出在管道的构建阶段(mvn clean install),同时运行我的单元测试,这里是错误信息
构建新的 Hibernate SessionFactory 2015-04-11 15:04:49 [main] 错误 ohutil.JDBCExceptionReporter - 通信链接失败
最后一个成功发送到服务器的数据包是 0 毫秒前。驱动程序没有收到来自服务器的任何数据包。
单元测试类无法连接到数据库。
我的代码没有什么特别之处,您可以在 JUnit 测试类中创建任何标准 JDBC 连接并尝试与数据库建立连接,但如果您想轻松确认此连接限制,以下是无需任何 Java 即可测试的方法代码:
- 使用一些入门代码创建 Liberty Profile 应用程序
- 创建并绑定“ClearDB MySQL”服务
- 在 App Overview 页面中,通过单击“Show Credentials”展开 ClearDB 框并复制主机名(例如,us-cdbr-test-west-07.cleardb.net)。
- 添加GIT,回到App Overview,点击EDIT CODE,点击“Build & Deploy”,点击“BUILD Stage”的配置图标,选择“Configure Stage”,在命令框中添加如下代码:
代码
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
- 启动 BUILD Stage 并检查是否显示此消息:
[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
请告知是否有办法配置管道,以便它可以与 ClearDB 通信。