JBoss应用随笔(2)

[size=large][color=blue]JBoss下数据源名称的配置[/color][/size]

JBoss下配置数据源比较简单,只需将配置好的××-ds.xml放到default/deploy下,JBoss启动的时候会自动的发布这些资源。配置文件如下:

[b]oracle-ds.xml[/b]

<datasources>
<local-tx-datasource>
<jndi-name>Firefly</jndi-name>
<connection-url>jdbc:oracle:thin:@serverhost:1521:oradb</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<user-name>prismtest</user-name>
<password>prismtest</password>
<exception-sorter-class-name>
org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter
</exception-sorter-class-name>
<min-pool-size>40</min-pool-size>
<max-pool-size>40</max-pool-size>
<prepared-statement-cache-size>10</prepared-statement-cache-size>
<check-valid-connection-sql>SELECT 1 FROM DUAL</check-valid-connection-sql>
<metadata>
<type-mapping>Oracle9i</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>


但是这样发布上去,在程序中使用ctx.lookup("Firefly")取得数据源的时候,抛出NameNotFoundException,看了一下JNDI树,发现Firefly被放到了java命名空间下。因此,应该使用ctx.lookup("java:/Firefly")来获取数据源。

这对于新规项目来说,没有什么问题,在配置文件里面改一下JNDIName即可。但是,对于移植和升级项目,应尽量保持新旧环境JNDI名的一致性,减少代码以及配置文件的修改量。因此,看了一下JBoss的文档,发现××-ds.xml中有一个use-java-context属性,该属性设置为false时,JBoss就不会将配置的数据源绑定到java命名空间下,就可以使用原始的JNDI(Firefly)名进行检索。配置文件修改后如下:

[b]oracle-ds.xml[/b]

<datasources>
<local-tx-datasource>
<jndi-name>Firefly</jndi-name>
<use-java-context>false</use-java-context>
...
...
</local-tx-datasource>
</datasources>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值