当前位置: 首页 > 知识库问答 >
问题:

jboss 7 oracle数据源配置

关玮
2023-03-14

我目前正在从jboss 4.3迁移到jboss 7.1.1(最终版),我正在尝试配置oracle数据源,但它不起作用。以下是我为设置oracle数据源所做的工作

1) 下载了ojdbc6-11。jar并将其放在$JBOSS\u HOME/modules/com/oracle/ojdbc6/main文件夹中

2) 创建了文件模块。$JBOSS\u HOME/modules/com/oracle/ojdbc6/main下的xml,这是文件的内容

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

3) 在standalone中添加了以下驱动程序和数据源。xml

<drivers>
  <driiver name="oracle" module="com.oracle.ojdbc6">
    <xa-datasource-class>oracle.jdbc.OracleDriver</xa-datasource-class>
  </driver>
</drivers>

<datasource jndi-name="java:/Altis" pool-name="Altis" enabled="true" use-java-context="true">
  <connection-url>connurl</connection-url>
  <driver>oracle</driver>
  <security>
    <user-name>username</user-name>
    <password>passwd</password>
  </security>
</datasource>
</datasources>

但是,当我部署我的war文件时,我得到以下错误

16:54:43,281 INFO  [org.jboss.as.server] (HttpManagementService-threads - 2) JBA
S015870: Deploy of deployment "altisavante.war" was rolled back with failure mes
sage {"JBAS014771: Services with missing/unavailable dependencies" => ["jboss.na
ming.context.java.module.altisavante.altisavante.env.Altisjboss.naming.context.j
ava.AltisMissing[jboss.naming.context.java.module.altisavante.altisavante.env.Al
tisjboss.naming.context.java.Altis]"]}

我遗漏了什么吗?

共有3个答案

赵君植
2023-03-14

在模块中。xml jar,对于资源根标记,您已经下载了ojdbc6-11。罐子

我认为您的模块中需要有path=“ojdbc6-11.jar”。xml

幸阳波
2023-03-14

所有这些答案都帮助我让它发挥作用,但没有一个是确切的解决方案,所以我想我会添加我的答案。

首先,请注意,您可以在JBoss web控制台中执行此操作,也可以在xml文件中手动配置数据源。但是,我强烈建议您通过web控制台对其进行配置,以避免出现OP犯下的错误,显然没有人注意到:

<drivers>
  <driiver name="oracle" module="com.oracle.ojdbc6">
    <xa-datasource-class>oracle.jdbc.OracleDriver</xa-datasource-class>
  </driver>
</drivers>

请注意,驱动程序声明包含两个i。

手动配置[不推荐]

首先,必须确保配置了Oracle jdbc。

  • 导航到$JBOSS_HOME/模块,如果它不存在,则创建文件夹树oracle/jdbc/main
  • 导航到该文件夹并复制odjbc6-11.jar
  • 用以下内容创建module.xml
<module>
    <resources>
        <!-- make sure the path match the name of the file -->
        <resource-root path="ojdbc6-11.jar"/>
    </resources>
    <dependencies>
        <module name="javax.api"/>
        <module name="javax.transaction.api"/>
    </dependencies>
</module>

现在您的jdbc已经配置完毕,您必须编辑standalone.xml文件以指定驱动程序和数据源属性。

  • 导航到$JBOSS_HOME/独立/配置并编辑standalone.xml文件。
  • 找到驱动程序标签并配置您的驱动程序如下:
<driver name="oracle" module="oracle.jdbc">
    <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
</driver>
  • 现在添加数据源配置:
<datasource jndi-name="java:jboss/datasources/Altis" pool-name="Altis" enabled="true">
  <connection-url>jdbc:oracle:thin:@255.255.255.255:1521:sid</connection-url>
  <driver-class>oracle.jdbc.OracleDriver</driver-class>
  <driver>oracle</driver>
  <security>
    <user-name>username</user-name>
    <password>passwd</password>
  </security>
</datasource>

在线配置[推荐]

  • 导航到管理控制台(默认本地主机:9990/控制台)
干茂才
2023-03-14

这里有一个关于JBoss 7的数据源配置的链接,当然可以使用7.1

https://community.jboss.org/wiki/DataSourceConfigurationInAS7

该示例是配置MySQL示例
这是我为Oracle驱动程序所做的

<datasource jndi-name="java:/sigap_ws_receiver" pool-name="sigap_ws_receiver" enabled="true">
    <connection-url>jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=off)(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.1)(PORT=1524))(CONNECT_DATA=(SERVICE_NAME=profepa)(SERVER=DEDICATED)))</connection-url>
    <driver>com.oracle</driver>
    <pool>
        <min-pool-size>3</min-pool-size>
        <max-pool-size>5</max-pool-size>
    </pool>
    <security>
        <user-name>user</user-name>
        <password>pass</password>
    </security>
    <validation>
        <exception-sorter class-name="org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter"/>
    </validation>
    <timeout>
        <blocking-timeout-millis>5000</blocking-timeout-millis>
        <idle-timeout-minutes>5</idle-timeout-minutes>
    </timeout>
</datasource>

驾驶员部分如下所示:

<drivers>
    <driver name="com.oracle" module="com.oracle">
        <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
    </driver>
</drivers>

我的模块。xml位于jar ojdbc6中的$JBOSS\u HOME\modules\com\oracle\main下。震击器:

<module xmlns="urn:jboss:module:1.0" name="com.oracle">
    <resources>
        <resource-root path="ojdbc6.jar"/>
    </resources>
    <dependencies>
        <module name="javax.api"/>
    </dependencies>
</module>
 类似资料:
  • 配置项说明 schemaName: # 逻辑数据源名称 dataSources: # 数据源配置,可配置多个 <data-source-name> <data-source-name>: # 与 ShardingSphere-JDBC 配置不同,无需配置数据库连接池 url: #数据库 URL 连接 username: # 数据库用户名 password: # 数据库

  • 我在Java应用程序中使用HikariDataSource。我对使用它非常陌生。 这是我的配置: 在这里,我将设置为1。当我运行应用程序时,此连接通常处于空闲状态: 我想弄明白 一秒钟内一个连接可以处理多少个请求。 一个连接是否可以并行接受和处理多个请求,或者其他请求必须等到上一个请求完成? 任何建议都会有所帮助。

  • 我的项目使用MySQL、JavaFX、Spring Boot、Spring Data JP和Hibernate框架/技术。 这是我的POM文件。 这是我的。属性配置。 这是我的主课 这是stacktrace: 上下文初始化期间遇到异常-取消刷新尝试:org。springframework。豆。工厂UnsatifiedPendencyException:创建名为“org”的bean时出错。sprin

  • 我在我的application.properties文件中定义了一个数据源: 但是,当我尝试运行我的camelway时,我得到了这个错误:"在注册表中找不到bean:类型为:javax.sql.数据源的数据源"。我总是在Spring配置我的数据源,使用application.properties文件没有问题。 完整的错误日志: 我的骆驼路线: 编辑:我以编程方式添加了数据源,如下所示: 但是,现在

  • 在建造中。我有:

  • 更具体地说,我得到了包含所有依赖项的可执行war。应用程序在没有jndi数据源的情况下启动,就像一个魅力一样,用jndi数据源运行它失败了。我认为在这样的配置中没有jetty.xml的位置,因此jetty-env.xml也不适用,因为jetty在默认情况下不会读取它。我试图使用jetty-web.xml进行jndi数据源配置,但jetty未能部署应用程序,返回503错误代码。我用的是9-M4型飞机