我刚开始使用boxfuse,似乎无法找到让我的dev数据库配置的方法。
在我的boxfuse.yml中我(对于数据库部分):
database:
# the name of your JDBC driver
driverClass: com.mysql.jdbc.Driver
# the username
user: root
# the password
password: <password>
# the JDBC URL
url: jdbc:mysql://10.0.0.84:3306/dmsdb
# any properties specific to your JDBC driver:
properties:
charSet: UTF-8
hibernate.dialect: org.hibernate.dialect.MySQLInnoDBDialect
# the maximum amount of time to wait on an empty pool before throwing an exception
maxWaitForConnection: 1s
# the SQL query to run when validating a connection's liveness
validationQuery: "/* MyApplication Health Check */ SELECT 1"
# the minimum number of connections to keep open
minSize: 8
# the maximum number of connections to keep open
maxSize: 32
# whether or not idle connections should be validated
checkConnectionWhileIdle: false
如果我尝试运行它(boxfuse运行),我的应用程序根本不起作用。
boxfuse信息产生以下内容:
oxfuse客户端v.1.18.7.938 版权所有2016 Boxfuse GmbH。保留所有权利。
帐户:mlr11(mlr11)
有关开发环境中mlr11 / dms-service的信息:
App Type : Single Instance with Zero Downtime updates
App URL : http://127.0.0.1:8082
DB Type : MySQL database
DB URL : jdbc:mysql://localhost:3306/boxfuse-dev-db
DB Host : localhost
DB Port : 3306
DB Database : boxfuse-dev-db
DB User : boxfuse-dev-db
DB Password : boxfuse-dev-db
DB Status : available
这与我的期望非常不同。 URL,数据库,用户,密码)与我的boxfuse.yml文件不匹配。
我缺少什么。我知道它一定很简单。我做了各种搜索并阅读了几次文档。我似乎无法找到什么是错的。任何指针都将受到赞赏。
答案 0 :(得分:0)
从你发布的配置文件我假设这是一个dropwizard应用程序。
由于您的Boxfuse应用程序配置为使用MySQL数据库,因此Boxfuse会在您首次部署应用程序时自动在每个环境中配置数据库。在您的情况下,您可以在您在问题中发布的输出中的开发环境中查看该数据库的连接信息。
Boxfuse将这些值(db url,user,password,...)公开为环境变量(https://boxfuse.com/docs/databases#envvars)并自动配置您的框架(我假设Dropwizard)使用它们而不是配置中包含的那些文件。它将通过将-Ddw.database.url=$BOXFUSE_DATABASE_URL -Ddw.database.user=$BOXFUSE_DATABASE_USER -Ddw.database.password=$BOXFUSE_DATABASE_PASSWORD
作为参数传递给JVM来实现。
同样在VirtualBox GUI中双重检查VirtualBox安装是否完全正常并能够启动VM,并且Boxfuse Dev VM和应用程序实例都已正确启动。