`
Mysun
  • 浏览: 270515 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Jboss是数据源配置

阅读更多
配置Jboss的数据源非常简单,可以从$JBOSS_HOME\docs\examples\jca这个目录下面找到jboss对各种数据库提供的数据源配置文件。拿MS SQLServer来说,就有两个,一个是mssql-ds.xml,一个是mssql-xa-ds.xml。后一个文件时用来配置两阶段提交数据源的,一般来说我们只使用第一个配置文件就可以了。
将与你的数据库类型匹配的数据源文件复制一份到$JBOSS_HOMEserver\default\deploy目录下,然后修改里面的相关参数就可以了。例如:
<?xml version="1.0" encoding="UTF-8"?>

<!-- ===================================================================== -->
<!--                                                                       -->
<!--  JBoss Server Configuration                                           -->
<!--                                                                       -->
<!-- ===================================================================== -->

<!-- $Id: mssql-ds.xml,v 1.3 2004/09/15 14:37:40 loubyansky Exp $ -->

  <!-- ======================================================================-->
  <!-- New ConnectionManager setup for Microsoft SQL Server 2000  driver     -->
  <!-- You may download the latest Microsoft JDBC driver from *Microsoft*    -->
  <!-- http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/MSDN-FILES/027/001/779/msdncompositedoc.xml&frame=true -->
  <!-- ===================================================================== -->

<datasources>
  <local-tx-datasource>
    <jndi-name>MSSQLDS</jndi-name>
    <connection-url>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MyDatabase</connection-url>
    <driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class>
    <user-name>x</user-name>
    <password>y</password>
        <!-- sql to call when connection is created
        <new-connection-sql>some arbitrary sql</new-connection-sql>
        -->

        <!-- sql to call on an existing pooled connection when it is obtained from pool 
        <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
        -->

      <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
      <metadata>
         <type-mapping>MS SQLSERVER2000</type-mapping>
      </metadata>
  </local-tx-datasource>

</datasources>

修改其中的jndi-name,connection-url,user-name和password几个属性的值就够了。
配置好数据源,启动jboss之后,就可以编程使用数据源了。这里的配置是将数据源放到了Jboss的JDNI命名服务中,所以你需要从JBOSS的JNDI中获取数据源。如果你使用的是JBOSS,那获得数据源就非常方便的,因为Spring提供了一个JNDI Factory Bean。
配置如下:
<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate"/>

<bean id="datasource" class="org.springframework.jndi.JndiObjectFactoryBean">
		<property name="jndiName">
			<value>java:MSSQLDS</value>
		</property>
		<property name="jndiTemplate">
			<ref local="jndiTemplate"/>
		</property>
	</bean>

如果没有使用Spring,那你就得自己使用JNDI API来获得数据源了。还有一点,因为javax.sql.Datasource这个类是不可序列化的,所以你是没有办法拿到远程数据源的,只能在Jboss内部进行测试。
另外,在数据源配置文件中使用<use-java-context>false</use-java-context>这个属性,可以在使用JNDI的时候不适用Java前缀。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics