jboss as 7.1下配置oracle数据源(作为核心)成功
本帖最后由 yansw 于 2014-01-23 08:56 编辑这个问题用了2天,查阅了国内外很多资料.现在把要点给出来!
这是成功的启动
......
14:59:47,971 INFO (ServerService Thread Pool -- 48) JBAS015537: Activating WebServices Extension
14:59:47,997 INFO (MSC service thread 1-4) JBAS013100: Current PicketBox version=4.0.6.final
14:59:48,103 INFO (MSC service thread 1-6) JBAS010408: Starting JCA Subsystem (JBoss IronJacamar 1.0.7.Final)
14:59:48,873 INFO (MSC service thread 1-3) JBAS011802: Starting Naming Service
14:59:49,044 INFO (MSC service thread 1-6) JBAS015400: Bound mail session
14:59:49,672 INFO (MSC service thread 1-7) JBoss Web Services - Stack CXF Server 4.0.1.GA
14:59:49,813 INFO (MSC service thread 1-8) Starting Coyote HTTP/1.1 on http-localhost-127.0.0.1-8080
14:59:49,835 INFO (ServerService Thread Pool -- 27) JBAS010403: Deploying JDBC-compliant driver class oracle.jdbc.OracleDriver (version 10.2)
14:59:50,135 INFO (MSC service thread 1-8) JBAS015012: Started FileSystemDeploymentService for directory e:\jboss-as-7.1.0.Final\standalone\deployments
14:59:50,143 INFO (MSC service thread 1-1) JBAS010400: Bound data source
14:59:50,151 INFO (MSC service thread 1-8) JBAS017100: Listening on localhost/127.0.0.1:4447
14:59:50,151 INFO (MSC service thread 1-5) JBAS017100: Listening on /127.0.0.1:9999
14:59:50,373 INFO (Controller Boot Thread) JBAS015874: JBoss AS 7.1.0.Final "Thunder" started in 7466ms - Started 134 of 205 services (70 services are passive or on-demand)
......
jboss-as-7.1.0.Final\modules\com\oracle\ojdbc14\main 下文件:
module.xml和ojdbc14.jar
module.xml
内容如下:
<module xmlns="urn:jboss:module:1.0" name="com.oracle.ojdbc14">
<resources>
<resource-root path="ojdbc14.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
</dependencies>
</module>
jboss-as-7.1.0.Final\standalone\configuration
下standalone.xml内容如下:
... ...
<subsystem xmlns="urn:jboss:domain:configadmin:1.0"/>
<subsystem xmlns="urn:jboss:domain:datasources:1.0">
<datasources>
<datasource jta="true" jndi-name="java:/oracleDS" pool-name="oracleDS" enabled="true" use-java-context="true">
<connection-url>jdbc:oracle:thin:@10.0.4.168:1521:orcl</connection-url>
<driver>oracle</driver>
<pool>
<prefill>false</prefill>
<use-strict-min>false</use-strict-min>
<flush-strategy>FailingConnectionOnly</flush-strategy>
</pool>
<security>
<user-name>scott</user-name>
<password>tiger</password>
</security>
</datasource>
<drivers>
<driver name="oracle" module="com.oracle.ojdbc14">
<driver-class>oracle.jdbc.OracleDriver</driver-class>
<xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
</driver>
</drivers>
</datasources>
</subsystem>
... ...
特别注意 ojdbc14.jar换成ojdbc6.jar 是有问题的,只是提醒注意.
欢迎垂询与交友. QQ:29258666
我们瑞贝卡公司在开发项目,欢迎指导与交流
继续说,事情远没有这么简单.
如果你用的是 JBOSS AS 7.1.1,那么启动JBOSS AS 会是这样的:
02:37:18,543 INFO (MSC service thread 1-6) JBAS010400: Bound data source
02:37:19,105 INFO (MSC service thread 1-6) JBAS010403: Deploying JDBC-compliant driver class oracle.jdbc.OracleDriver (version 11.2)
02:37:19,168 INFO (Controller Boot Thread) JBAS018559: Deployed "ojdbc6.jar"
我试着把磁盘里面的ojdbc6.jar 删除干净,照样出这样的启动信息.因此只能理解为使用ojdbc14.jar 错误的现实了启动OJDBC6.jar . 我真的把所有分区,所有目录下的ojdbc6.jar 都删除干净了
.........
(修改后)刚才又找了一台机器测试了以下,不出
02:37:19,168 INFO (Controller Boot Thread) JBAS018559: Deployed "ojdbc6.jar"
这样一行了,看起来我把部署的内容没删干净.对不起,我上面结论错了.但是利用以上方法,不出这一行,数据源设置与连接倒是一点问题也没有.也就是说文章还是由很大参考意义的
从测试看 JBOSS AS 7.1.1“Brontes” 和 JBOSS AS 7.1 "thunder" 只是微小升级,但是在数据源处理上方便多了.
另外一个很多人头疼的问题如下图:
为便于外站搜索,我把错误的一行以文本形式打出来
service jboss.jdbc-driver.oracle (missing) dependents
这个错误的原因是jboss-as\jboss\modules\com\oracle 下目录或文件不对,或者是standalone.xml中<datasources><datasources>之间的<drivers></drivers>部分错误或缺失,引起找不到oracle JDBC 驱动组件. 遇到这样的错误从这两方便着手就行了.
我测试过JBOSS as 7.1.1“Brontes” +oracle 11.2.0(本地)
和JBOSS AS 7.1 "thunder" JBOSS AS 7.1 "thunder"+oracle 10.2.0.4 远程
以上文章观点都适用
由于不做EE开发,单纯的帮顶。
感谢你的分享。 一直没解决的ojdbc6.jar的使用问题今天解决了.
我的数据库版本 10G10.2,我的application server EAP 6.2
目录结构: eap6.2\modules\system\layers\base\com\oracle\main,目录下内容 module.xml 和 ojdbc.jar
module.xml 内容:
<module xmlns="urn:jboss:module:1.1" name="com.oracle">
<resources>
<resource-root path="ojdbc6.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
standalone.xml 里面内容:
<datasource jta="true" jndi-name="java:jboss/datasources/oracleDS" pool-name="oracleDS" enabled="true" use-java-context="true">
<connection-url>jdbc:oracle:thin:@10.0.4.168:1521:orcl</connection-url>
<driver>oracle</driver>
<pool>
<prefill>false</prefill>
<use-strict-min>false</use-strict-min>
<flush-strategy>FailingConnectionOnly</flush-strategy>
</pool>
<security>
<user-name>scott</user-name>
<password>tiger</password>
</security>
</datasource>
<driver name="oracle" module="com.oracle">
<driver-class>oracle.jdbc.OracleDriver</driver-class>
<xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
</driver>
测试方法http://localhost:9990/找到profile-- datasources --oracleDS测试连接
祝你们好运!
页:
[1]