您的位置:首页 > 数据库

jboss5.0配置数据源详细步骤

2013-05-04 20:11 288 查看
    
 以前我们访问数据库,使用jdbc编码形式。如下:
         Class.forName("oracle.jdbc.driver.OracleDriver");
[align=left]         String url="jdbc:oracle:thin:@192.168.24.101:1521: orclnew";[/align]
[align=left]         String username="test";[/align]
[align=left]         String password="test";[/align]
         conn=DriverManager.getConnection(urlusername,
password);
[align=left]   但是这种编码方式,在大型项目中,很难维护。[/align]
[align=left]   另一种访问数据库的方式,是通过数据源方式。[/align]
[align=left]   数据源方式,一般包括两种,使用应用程序来管理数据源;另一种使用服务器来管理,比如tomcat,jboss,weblogic等。[/align]
[align=left]   应用程序来管理:稍许麻烦,比如c3p0,需要在程序中设置ds的url,驱动,最大连接数或最小连接数等。[/align]
[align=left]   一般情况下,我们使用服务器来管理数据源,下面我们以jboss5.0为例。[/align]
[align=left]   [/align]
[align=left]   JBOSS5.0中新建数据源JNDI方式[/align]
[align=left]   [/align]
[align=left]   我们知道,一般服务器都提供了可视化操作界面——控制台;当然既然提供了可视化界面,那说明我们也可以自己手动写配置文件。[/align]
[align=left]   首先可视化界面:[/align]
[align=left]    第一:启动jboss服务【bin/run.bat】[/align]
[align=left]    第二:登录http://localhost:8080 【默认端口号】[/align]
    


[align=left]    第三:打开所指,输入用户名和密码admin/admin【默认情况】[/align]
    


[align=left]    [/align]
[align=left]    第四:登录进去:看到DataSource面板,一共三个;Local:局部事务DataSource;NO:没有事务;XA:分布式事务。[/align]
    


[align=left]    [/align]
[align=left]    第五:一般我们选择Local,局部事务的Jndi。然后自己新建一个JNDI:Jboss默认提供了DefaultDS数据源。[/align]
     


[align=left]    第六:点击Add a new resource  按钮。若新建mysql数据源,选择default下拉框。即使选择default,新建oracle的数据源,也是可以的。[/align]
   


[align=left]    第七:添加数据源的基本信息,截取不完整:[/align]
   


[align=left]   [/align]
[align=left]    第八:可以选择把必填的填写,其他的默认即可【若不会或暂没想好】。[/align]
[align=left]    第九:点击save后,在server/default/deploy下,自动生成  你的JNDI名称—ds.xml文件,比如测试如下:[/align]
    
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<datasources>
<local-tx-datasource>
<jndi-name>firstds</jndi-name>
<rar-name>jboss-local-jdbc.rar</rar-name>
<use-java-context>true</use-java-context>
<connection-definition>javax.sql.DataSource</connection-definition>
<jmx-invoker-name>jboss:service=invoker,type=jrmp</jmx-invoker-name>
<min-pool-size>0</min-pool-size>
<max-pool-size>10</max-pool-size>
<blocking-timeout-millis>30000</blocking-timeout-millis>
<idle-timeout-minutes>30</idle-timeout-minutes>
<prefill>false</prefill>
<background-validation>false</background-validation>
<background-validation-millis>0</background-validation-millis>
<validate-on-match>true</validate-on-match>
<statistics-formatter>org.jboss.resource.statistic.pool.JBossDefaultSubPoolStatisticFormatter</statistics-formatter>
<isSameRM-override-value>false</isSameRM-override-value>
<allocation-retry>0</allocation-retry>
<allocation-retry-wait-millis>5000</allocation-retry-wait-millis>
<security-domain-and-application xsi:type="securityMetaData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<metadata/>
<local-transaction/>
<user-name>test</user-name>
<password>test</password>
<prepared-statement-cache-size>0</prepared-statement-cache-size>
<share-prepared-statements>false</share-prepared-statements>
<set-tx-query-timeout>false</set-tx-query-timeout>
<query-timeout>0</query-timeout>
<use-try-lock>0</use-try-lock>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<connection-url>jdbc:oracle:thin:@192.168.24.101:1521:orclnew</connection-url>
</local-tx-datasource>
</datasources>


[align=left]    到此为止,就可以使用数据源访问这个数据库了。至于访问的例子,下篇文章继续介绍。[/align]
[align=left]
[/align]
[align=left]    开篇我们也提到,既然可以可视化配置,必然会提供手动编写。[/align]
[align=left]    自己手动编写数据源配置文件步骤如下:[/align]
[align=left]    第一:查找jboss给我们提供的数据源模板:jboss-5.1.0\docs\examples\jca下数据源模板。[/align]
[align=left]    第二:copy相应的数据库的数据源文件,放到jboss-5.1.0\server\default\deploy下。[/align]
[align=left]         比如:oracle数据源文件oracle-ds.xml 直接copy到deploy下。[/align]
[align=left]    第三:更改相应的名字。[/align]
[align=left]         配置文件如下: [/align]
<?xml version="1.0" encoding="UTF-8"?>

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

<!-- See http://www.jboss.org/community/wiki/Multiple1PC for information about local-tx-datasource -->
<!-- $Id: oracle-ds.xml 88948 2009-05-15 14:09:08Z jesper.pedersen $ -->
<!-- ==================================================================== -->
<!--  Datasource config for Oracle originally from Steven Coy             -->
<!-- ==================================================================== -->

<datasources>

<local-tx-datasource>
<jndi-name>basicinfo</jndi-name>
<connection-url>jdbc:oracle:thin:@192.168.24.101:1521:orclnew</connection-url>
<!--

Here are a couple of the possible OCI configurations.
For more information, see http://otn.oracle.com/docs/products/oracle9i/doc_library/release2/java.920/a96654/toc.htm 
<connection-url>jdbc:oracle:oci:@youroracle-tns-name</connection-url>
or
<connection-url>jdbc:oracle:oci:@(description=(address=(host=youroraclehost)(protocol=tcp)(port=1521))(connect_data=(SERVICE_NAME=yourservicename)))</connection-url>

Clearly, its better to have TNS set up properly.
-->
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<user-name>test</user-name>
<password>test</password>
<!-- Uses the pingDatabase method to check a connection is still valid before handing it out from the pool -->
<!--valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker</valid-connection-checker-class-name-->
<!-- Checks the Oracle error codes and messages for fatal errors -->
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
<!-- 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 - the OracleValidConnectionChecker is prefered
<check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
-->

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


[align=left]    到此为止,就OK了。[/align]
[align=left] [/align]
[align=left]    但是使用过这种方式的,大家肯定会发现不同,因为可视化界面生成的数据源文件和jboss提供的数据源模板文件不太一样。其实,就是参数的数量不一样,可视化界面生成的数据源文件,参数比较多,比如最大的连接数量,最小连接数量等等,但是在jboss提供的模板中没有这样的参数,若程序中有这样的需求,自己编写的数据源文件还是需要自己添加参数的。[/align]
[align=left]
[/align]
[align=left]    数据源文件已经配置或编写完毕,那如何访问呢?[/align]
[align=left]    下篇文章,会给出相应的答案、分享访问中遇到的问题以及解决方案。[/align]
[align=left]    [/align]
[align=left]   [/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息