jboss配置入门(八)配置数据源在APP应用加载前有效(各相关服务加载完毕)

http://www.jboss.com/index.html?module=bb&op=viewtopic&t=70600
http://www.javaworld.com.tw/jute/post/view?bid=9&id=129747&sty=1&tpg=1&age=0(中文)
 
以下简略说明一下。
我们部署一个应用(项目),应用启动之初一般都进行若干初始化吧,可能会从文件里、数据库里获取一些基础数据或配置项等等。
如果从数据库里获取基础数据,则我们必须确保配置的那些数据源及相关的服务在我们应用开始加载之前生效(已经启动或加载完毕);也就是说,在我们部署应用的一些初始化数据方法里要能正常获取数据。如果你不做一些设置,仅仅是将配好的ds_oracle_test.xml扔到…/deploy/下,那么很遗憾的告诉你,你的应用在初始化数据阶段根本不能从连接池中获取到连接,进而获取数据。如要达到你初始化数据的目的,请按照上面我提供的那个帖子连接去查看详细的信息,下面我仅提供解决方法。
1)、配置数据源:
<!--oracle_ds.xml-->
<datasources>
<local-tx-datasource>
<jndi-name>jdbc/test</jndi-name>
2)确认datasource依赖的服务名
透过http://wiki.jboss.org/wiki/Wiki.jsp?page=DependOnDataSource我们发现:
======原文引用==============
! Depending on a DataSource
To specify a dependency on a DataSource deployment, you need to depend on the service which binds the DataSource into JNDI.
The DataSource is not bound into JNDI until the service jboss.jca:service=DataSourceBinding,name=(jndi-name) has been
started. The (jndi-name) is the value of the jndi-name attribute for your DataSource as defined in the *-ds.xml.
The associated connection manager service is a function of the type of DataSource and its jndi-name attribute value. The
MBean names for the types of DataSource deployments are:
            1  no-tx-datasource 
            2 jboss.jca:service=NoTxCM?,name=(jndi-name)
            3 local-tx-datasource
            4 jboss.jca:service=LocalTxCM?,name=(jndi-name)
            5  xa-datasource
            6 jboss.jca:service=XATxCM?,name=(jndi-name)
            7 no-tx-connection-factory
            8 jboss.jca:service=NoTxCM?,name=(jndi-name)
            9 tx-connection-factory
            10   jboss.jca:service=TxCM?,name=(jndi-name)

     通过上述描述可以知道,数据源配置不同,则对应的依赖服务名信息也不同。
     根据上述描述及数据源配置,相关的服务名就是:
"jboss.jca:service=LocalTxCM,name=jdbc/test".

我修改了 ...sar/...war/WEB-INF/jboss-web.xml(如果不存在该文件,就创建它),然后运行jboss,就可以在初始化时找到datasource,并正确获取数据了!!!

配置文件如下:
  <jboss-web> <depends>jboss.jca:service=LocalTxCM,name=jdbc/test</depends></jboss-web> 

 


 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值