繁体   English   中英

Tomcat JNDI资源名称别名

[英]Tomcat JNDI resource name aliases

是否可以创建具有多个名称(同义词,别名)的JNDI tomcat资源? 就像是

<Resource
      name="jdbc/product-ds"
      alias="jdbc/product-cfg-ds"
      type="com.mchange.v2.c3p0.ComboPooledDataSource"
      ...
/>

我需要这个,因为有两个模块使用相同的DataSource,但具有不同的JNDI名称。 最简单的解决方案是同步这些名称,但不幸的是,目前还不可能。

你可以这样做。 我花了一段时间来计算出正确的序列。 您需要做的是在GlobalNamingResources部分中的server.xml(tomcat / conf / server.xml)中定义jdbc / product-ds,如下所示:

    <GlobalNamingResources>
        <Resource name="jdbc/product-ds " auth="Container"
          type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
          url="jdbc:oracle:thin:@127.0.0.1:1521:mysid"
          username="scott" password="tiger" maxActive="20" maxIdle="10"
          maxWait="-1"/>
    </GlobalNamingResources>

然后,您可以在服务器context.xml中重命名它(tomcat / conf / context.xml)

像这样:

<ResourceLink 
        name="jdbc/product-cfg-ds"
        global="jdbc/product-ds"
        type="javax.sql.DataSource"/>

然后,为服务器上部署的所有应用程序重命名全局名称。 我不认为全局jdbc / product-ds可以在任何应用程序中使用,如果你确实需要它,你需要添加:

<ResourceLink 
        name="jdbc/product-ds"
        global="jdbc/product-ds"
        type="javax.sql.DataSource"/>

暂无
暂无

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

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