1

我是 Jboss Application Server 7 的新手。我正在尝试创建一个数据源。我在standalone.xml 中添加了以下代码:

    <datasources>
        <datasource jndi-name="java:/sss" enabled="true" use-java-context="true" pool-name="sss">
            <connection-url>jdbc:oracle:thin:@ipaddress:sid</connection-url>
            <driver> ojdbc14.jar</driver>
            <pool></pool>
            <security>
                <user-name>username</user-name>
                <password>password</password>
            </security>
        </datasource>
        <drivers>
            <driver name="ojdbc14.jar" module="com.oracle">
                <xa-datasource-class>oracle.jdbc.OracleDriver</xa-datasource-class>
            </driver>
        </drivers>
    </datasources>

我已将我的 ojdbc14.jar 放在以下路径中,\jboss-as-web-7.0.2.Final\modules\com\oracle\main.

我已经持久化了module.xml,如下在同一路径中。

<module xmlns="urn:jboss:module:1.0" name="com.oracle">
    <resources>
        <resource-root path="ojdbc14.jar"/>
    </resources>
    <dependencies>
         <module name="javax.api"/>
         <module name="javax.transaction.api"/>
    </dependencies>
</module> 

但我得到如下错误,

错误 [stderr] 线程“控制器引导线程”中的异常 java.la ng.RuntimeException: org.jboss.as.controller.persistence.ConfigurationPersistence eException: 无法解析配置

任何人都可以帮我解决这个错误吗?

4

4 回答 4

2

您的配置似乎有问题。我的猜测是池配置。你可以尝试这样的事情:

<pool>
    <min-pool-size>1</min-pool-size>
    <max-pool-size>30</max-pool-size>
    <prefill>true</prefill>
</pool>

只是为了确保删除空间

<driver> ojdbc14.jar</driver>

其他几点。您可能想要使用 Oracle 验证类。

<validation>
    <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker"/>
    <stale-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker"/>
    <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter"/>
</validation>

此外,您可能希望使用与您的 JRE/JDK 匹配的 Oracle 驱动程序。由于您可能不在 Java 1.4 上,因此不应使用 ojdbc14.jar。如果您使用的是 Java 1.5,则应该使用 ojdbc5.jar;如果您使用的是 Java 1.6,则应该使用 ojdbc6.jar。

于 2012-04-27T08:02:58.307 回答
0

假设您已阅读或了解社区文档的配置文件。

链接:JBoss Application Server 7 - 数据源文档

您是否尝试过数据源部署方法,使用管理控制台或 CLI 部署驱动程序?还很好奇 CLI 对read-resource数据源节点上的操作报告了什么。

[standalone@localhost:9999 /] /subsystem=datasources:read-resource(recursive=true)
于 2012-03-28T02:59:32.130 回答
0

部署 DS 有两种选择:作为模块或部署。看看这篇文章了解更多细节。此外,出于某种原因,JBoss 配置解析器在某种程度上对任何配置文件中的错误都很敏感,请再次检查您的配置,寻找任何拼写错误的单词或不必要的空格。

于 2011-12-28T09:04:14.983 回答
-2

我认为存在兼容性问题。

  • JBoss AS7 在 java 6 下运行,仅适用于 jdbc 驱动程序版本 4.0。
  • jdbc 驱动程序 ojdbc14.jar 是用 java 1.4 编译的,它是 jdbc 3.0 或更低版本。

也许它不能一起工作。

我会尝试使用用于 oracle11g 的 jdbc 驱动程序(为了向后兼容)。我找到了 JDBC 驱动程序的互操作性矩阵

于 2014-03-02T18:22:07.700 回答