【问题标题】:How to access JDBC driver which configured as JNDI resource, from Spring?如何从 Spring 访问配置为 JNDI 资源的 JDBC 驱动程序?
【发布时间】:2012-03-04 05:38:15
【问题描述】:

我的应用基于 Spring MVC 模板。

我已经在我的 context.xml 中配置了我的 DataSource 并带有以下标记:

<Resource name="jdbc/registrator" auth="Container" type="javax.sql.DataSource"
           maxActive="100" maxIdle="30" maxWait="10000"
           username="javauser" password="javauser" driverClassName="org.gjt.mm.mysql.Driver"
           url="jdbc:mysql://localhost:3306/registrator"/>

我是否认为这会导致 Tomcat 创建一个服务器范围的 org.gjt.mm.mysql.Driver bean 实例并使其在“jdbc/registrator”名称下可用?

我是否也应该像http://tomcat.apache.org/tomcat-7.0-doc/jndi-resources-howto.html#JDBC_Data_Sources 所说的那样在web.xml 中描述这个资源?如果我使用 Spring 框架,这可能不需要?

如何从 Spring 上下文配置中访问这个 bean?

【问题讨论】:

    标签: spring tomcat jdbc datasource jndi


    【解决方案1】:

    为此使用jee 命名空间(请参阅C.2.3 The jee schema):

    <jee:jndi-lookup id="dataSource" jndi-name="jdbc/registrator"/>
    

    这定义了一个名为 dataSource 的 bean,它代表您的 Tomcat 数据源。

    无需向web.xml 添加任何内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-14
      • 2012-12-09
      • 1970-01-01
      • 2014-09-11
      • 2013-04-09
      • 1970-01-01
      • 2020-08-23
      • 1970-01-01
      相关资源
      最近更新 更多