Вопрос по jboss7.x, datasource, oracle – конфигурация источника данных оракула jboss 7

8

Я в настоящее время мигрирую с jboss 4.3 на jboss 7.1.1 (Final) и пытаюсь настроить источник данных oracle, но он не работает. Вот что я сделал для настройки источника данных оракула

1) Скачал ojdbc6-11.jar и поместил его в папку $ JBOSS_HOME / modules / com / oracle / ojdbc6 / main

2) Создайте файл module.xml в папке $ JBOSS_HOME / modules / com / oracle / ojdbc6 / main, и это содержимое файла.

<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>

Тем не менее, когда я развернул свой файл войны, я получаю следующую ошибку

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]"]}

Я что-то пропустил?

@ user1066568, если какой-либо из ответов был ответом на ваше решение, желательно пометить его соответствующим образом - другие люди могут найти его полезным. Olimpiu POP
Вы решили это? Я столкнулся с той же проблемой. Ricardo Silva
Вы когда-нибудь сортировали это? Я сталкиваюсь с той же проблемой. Ben Green
@BenGreen см. Мой пост, если вы никогда не исправили, может быть, это поможет вам. Jean-François Savard

Ваш Ответ

7   ответов
0

<driver-class>oracle.jdbc.OracleDriver</driver-class>

4

но ни один из них не был точным решением, поэтому я решил добавить свой.

Во-первых, обратите внимание, что вы можете сделать это либо вJBoss web-console или путем ручной настройки источника данных в XML-файлах. Тем не менее, я настоятельно рекомендую вам настроить его через веб-консоль, чтобы избежать ошибок, таких как та, которую сделал OP, и которую, очевидно, никто не заметил:

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

Обратите внимание, что объявление драйвера содержит два i.

Manual configuration [Not recommended]

Прежде всего, вы должны убедиться, что ваш Oracle jdbc настроен.

Navigate to $JBOSS_HOME/modules and if it does not already exists, create folder tree oracle/jdbc/main. Navigate to that folder and copy the odjbc6-11.jar. Create module.xml with the following content
<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 файл для указания драйвера и свойств источника данных.

Navigate to $JBOSS_HOME/standalone/configuration and edit standalone.xml file. Locate the drivers tag and configure your driver as follow :
<driver name="oracle" module="oracle.jdbc">
    <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
</driver>
Now add the datasource configuration :
<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>

Online configuration [Recommended]

Navigate to the management console (by default localhost:9990/console) Click on Configuration and expand Datasources in Connector Click on add (first button on right of the datasources table) Fill in the Name, in your case Altis Fill in the JNDI name, in your case java:jboss/datasources/Altis. Note that JNDI name has to start with java:/ or java:jboss/ Select your driver, it should be in the detected driver if it was properly configured. Fill in the connection url as jdbc:oracle:thin:@255.255.255.255:1521:sid Fill in the username and password. You can left empty the security domain if you want or specify one. Make sure you test the connection before clicking on Done. Once the datasource is saved, select it in the table and click on Enable
0

ь пользователя, которого вы создали с помощьюadduser.bat, Затем появится страница со всеми настройками. Теперь следуйте приведенным ниже шагам:

1) Перейти к профилю

2) Выберите источники данных в левой части панели.

3) Затем нажмите наadd кнопка в разделе источника данных

4) Укажите такие данные, как имя, имя и т. Д.

Name: OracleDS Jndi: java:jboss/datasources/OracleDS

5) Нажмите на следующую кнопку

6) Выберите драйвер, который вы развернули в jboss с помощью standalone.xml

7) Нажмите на следующую кнопку

8) Теперь заполните детали ...

connection url: jdbc:oracle:thin:@[host]:1521:[sid] username: [user] password: [pass] security domain: leave it blank

9) Нажмите на готово.

Теперь появится сообщение, что"Datasource added successfully".

Вот и все .... !!!

0

что $ JBOSS_HOME \ modules \ system \ layer \ base \ com \ oracle \ ojdbc6 \ main существует и у вас есть ojdbcXX.jar и module.xml Имя модуля = "com.oracle.ojdbc" в файле module.xml должен совпадать с модулем = & quot; com.oracle.ojdbc & quot; в standalone.xml

например module.xml - & gt;

<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="**com.oracle.ojdbc6**">
    <resources>
        <resource-root path="ojdbc6.jar"/>
        <!-- Insert resources here -->
    </resources>
    <dependencies>
        <module name="javax.api"/>
        <module name="javax.transaction.api"/>
        <module name="javax.servlet.api" optional="true"/>
    </dependencies>
</module>
standalone.xml -->

<datasource jndi-name="java:/abc" pool-name="abc" enabled="true" use-java-context="true">
                    <connection-url>jdbc:oracle:thin:@localhost:1521:orcl</connection-url>
                    <driver>**oracle**</driver>
                    <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
                    <security>
                        <user-name>a_user</user-name>
                        <password>pwdXXX</password>
                    </security>
                </datasource>

                <drivers>
                    <driver name="**oracle**" module="**com.oracle.ojdbc6**">
                    <,;driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
                    <xa-datasource-class>oracle.jdbc.driver.OracleDriver</xa-datasource-class>
                    </driver>
                    </driver>
14

которая, конечно, работает с 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>

Мой module.xml находится в папке $ JBOSS_HOME \ modules \ com \ oracle \ main внутри jar ojdbc6.jar:

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

я также исключил jar-файлы из jboss-deploy-structure.xml, только тогда мне удалось его запустить и запустить. Просто войдите сюда, так как это может помочь другим. Пример моего jboss-deploy-structure.xml ниже

enter code here

<!--exclude-subsystems>
<subsystem name="jpa" />
</exclude-subsystems-->
<!--http://mca.intranet.barclays.co.uk/confluence/display/MCA/Changes+required+in+MCA+for+aPaaS-->

<exclusions>
    <module name="org.codehaus.jackson.jackson-core-asl" />
    <module name="org.codehaus.jackson.jackson-mapper-asl" />
    <module name="org.apache.log4j" />
    <module name="javax.persistence.api" />
    <module name="org.hibernate" />

</exclusions>
    <dependencies>

        <module name="javax.activation.api" export="true"/>
        <module name="javax.annotation.api" export="true"/>
        <module name="javax.ejb.api" export="true"/>
        <module name="javax.el.api" export="true"/>
        <module name="javax.enterprise.api" export="true"/>
        <module name="javax.enterprise.deploy.api" export="true"/>
        <module name="javax.inject.api" export="true"/>
        <module name="javax.interceptor.api" export="true"/>
        <module name="javax.jms.api" export="true"/>
        <module name="javax.jws.api" export="true"/>
        <module name="javax.mail.api" export="true"/>
        <module name="javax.management.j2ee.api" export="true"/>

        <module name="javax.resource.api" export="true"/>
        <module name="javax.rmi.api" export="true"/>
        <module name="javax.security.auth.message.api" export="true"/>
        <module name="javax.security.jacc.api" export="true"/>
        <module name="javax.servlet.api" export="true"/>
        <module name="javax.servlet.jsp.api" export="true"/>
        <module name="javax.transaction.api" export="true"/>
        <module name="javax.validation.api" export="true"/>
        <module name="javax.ws.rs.api" export="true"  services="export"/>
        <module name="javax.xml.bind.api" export="true"/>
        <module name="javax.xml.registry.api" export="true"/>
        <module name="javax.xml.soap.api" export="true"/>
        <module name="javax.xml.ws.api" export="true"/>
        <module name="org.jboss.as.jmx" />
        <!--module name="ibm.mq" /-->
        <module name="javax.api" export="true"/>

    </dependencies>
</deployment>

1

path="ojdbc6.jar" для тега root-ресурса, но вы сказали, что скачали ojdbc6-11.jar

Я думаю, что вам нужно иметьpath="ojdbc6-11.jar" в вашем module.xml

Похожие вопросы