使用 JNDI 查找在 Heroku 部署中配置数据源
Configure datasource in Heroku deployment with JNDI lookup
我目前正在使用 JNDI 查找从 Tomcat 的 context.xml 中为 MySQL 或 PostgreSQL 获取我的数据源。
我的 context.xml 看起来像这样:
<Resource name="jdbc/MyDataSource"
auth="Container"
type="javax.sql.DataSource"
username="user"
password="pass"
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://servername:5432/database"
maxActive="20"
maxIdle="10"
validationQuery="Select 1"
/>
但是,我的一位客户正在使用 Heroku 进行部署,我想知道如何在那里设置我的数据源以及如何从我的 Java 网络读取它使用 JNDI 查找的应用程序。
在 Heroku 中我使用 heroku-deploy plugin with Tomcat
你可以将context.xml
文件传给webapp-runner的--context-xml
选项,heroku-deploy会用到。为此,请像这样设置配置变量:
$ heroku config:set WEBAPP_RUNNER_OPTS="--context-xml context.xml"
然后在部署时,包含 context.xml
文件,如下所示:
$ heroku deploy:war --war app.war --includes context.xml
中有详细描述
我目前正在使用 JNDI 查找从 Tomcat 的 context.xml 中为 MySQL 或 PostgreSQL 获取我的数据源。 我的 context.xml 看起来像这样:
<Resource name="jdbc/MyDataSource"
auth="Container"
type="javax.sql.DataSource"
username="user"
password="pass"
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://servername:5432/database"
maxActive="20"
maxIdle="10"
validationQuery="Select 1"
/>
但是,我的一位客户正在使用 Heroku 进行部署,我想知道如何在那里设置我的数据源以及如何从我的 Java 网络读取它使用 JNDI 查找的应用程序。 在 Heroku 中我使用 heroku-deploy plugin with Tomcat
你可以将context.xml
文件传给webapp-runner的--context-xml
选项,heroku-deploy会用到。为此,请像这样设置配置变量:
$ heroku config:set WEBAPP_RUNNER_OPTS="--context-xml context.xml"
然后在部署时,包含 context.xml
文件,如下所示:
$ heroku deploy:war --war app.war --includes context.xml
中有详细描述