使用JNDI查找

时间:2016-05-17 09:03:28

标签: heroku datasource jndi

我目前正在使用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 进行部署,我想知道如何在那里设置我的数据源以及如何使用JNDI查找从我的Java Web应用程序中读取它。 在Heroku中我使用的是heroku-deploy plugin with Tomcat

1 个答案:

答案 0 :(得分:2)

您可以将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

Configuring WAR Deployment with the Heroku Toolbelt

详细介绍了这一点