繁体   English   中英

在tomcat中PostgreSQL数据库的JNDI查找

[英]JNDI lookup of PostgreSQL database in tomcat

在现有应用程序中,我使用jndi连接数据库,如下所示。 请指导我如何在基于Spring的应用程序中为相同的代码编写有效的代码。

我当前的jndi查找代码是

InitialContext context = null;
String welcomeMessage = null;
Integer maxSessionCount = null;

try{
    context = new InitialContext();

    welcomeMessage = (String)context.lookup(
            "java:comp/env/welcomeMessage");
    maxSessionCount = (Integer)context.lookup(
            "java:comp/env/maxSessionCount");
}
catch (NamingException exception){
    exception.printStackTrace();
}
<jee:jndi-lookup id="dbDataSource"
   jndi-name="jdbc/DatabaseName"
   expected-type="javax.sql.DataSource" />

使用以下类似方法在tomcat的server.xml中声明JNDI资源:

<GlobalNamingResources>
  <Resource name="jdbc/DatabaseName" auth="Container" type="javax.sql.DataSource"
              username="dbUsername" password="dbPasswd"
              url="jdbc:postgresql://localhost/dbname"
              driverClassName="org.postgresql.Driver"
              initialSize="5" maxWait="5000"
              maxActive="120" maxIdle="5"
              validationQuery="select 1"
              poolPreparedStatements="true"/>
</GlobalNamingResources/>

并从Tomcat的web context.xml中引用JNDI资源,如下所示:

 <ResourceLink name="jdbc/DatabaseName"
   global="jdbc/DatabaseName"
   type="javax.sql.DataSource"/>

在您的应用程序中使用bean dbDatasource。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM