jboss 7 오라클 데이터 소스 구성
저는 현재 jboss 4.3에서 jboss 7.1.1(Final)로 마이그레이션 중이며 오라클 데이터 소스를 구성하려고 하는데 작동하지 않습니다.오라클 데이터 소스를 설정하기 위해 수행한 작업은 다음과 같습니다.
1)ojdbc6-11.jar를 다운로드하여 $JBOSS_HOME/modules/com/oracle/ojdbc6/main 폴더에 넣었습니다.
2)$JBOSS_HOME/modules/com/oracle/ojdbc6/main 아래에 module.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>
그러나 전쟁 파일을 배포할 때 다음과 같은 오류가 발생합니다.
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]"]}
제가 놓친 게 있나요?
다음은 7.1과 함께 작동하는 JBoss 7의 데이터 소스 구성에 대한 링크입니다.
https://community.jboss.org/wiki/DataSourceConfigurationInAS7
예제는 MySQL 예제를 구성하는 것입니다.
(오라클 드라이버) 및 Oracle Driver(오라클 드라이버)에 입니다.
<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은 jar ojdbc6.jar 내 $JBOSS_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>
이 모든 답변이 효과를 내는데 도움이 되었지만, 정확한 해결책이 없어서 저는 제 것을 추가하려고 생각했습니다.
, 할 에서 은 할 에서 은 JBoss web-console
또는 xml 파일에서 데이터 원본을 수동으로 구성합니다.하기 위해 웹 합니다:가 OP와은를기해웹다히을할해을나든다히을r할해,ht:u을riytte나sehed-etdppee가웹bote
<drivers>
<driiver name="oracle" module="com.oracle.ojdbc6">
<xa-datasource-class>oracle.jdbc.OracleDriver</xa-datasource-class>
</driver>
</drivers>
드라이버 선언에는 두 개의 i가 포함되어 있습니다.
수동 구성 [권장하지 않음]
먼저 Oracle jdbc가 구성되어 있는지 확인해야 합니다.
- 로 이동
$JBOSS_HOME/modules
존재하지 트리지더를다면다를r약eed더지면fts,syoracle/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/configuration
file.standalone.xml 파일을 편집합니다. - 위치를 찾습니다.
drivers
를 다음과 합니다. :과이에를다고다고를gwrsd .
<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>
온라인 구성 [권장]
- 관리 콘솔로 이동합니다(기본적으로 localhost:9990/console).
- Configuration(구성)을 클릭하고 Connector(커넥터)에서 Data Source(데이터 소스) 확장
- add(데이터 소스 테이블 오른쪽 첫번째 버튼) 클릭)
- 사용자의 경우 이름을 기입합니다.
Altis
- JNDI 이름을 기입해 주십시오.
java:jboss/datasources/Altis
. JNDI 이름은 다음과 같이 시작해야 합니다.java:/
아니면java:jboss/
- 드라이버를 선택합니다. 드라이버가 올바르게 구성되어 있으면 감지된 드라이버에 있어야 합니다.
- 연결 URL을 다음과 같이 입력합니다.
jdbc:oracle:thin:@255.255.255.255:1521:sid
- 사용자 이름과 암호를 입력합니다.
- 원하는 경우 보안 도메인을 비워두거나 지정할 수 있습니다.
- 완료를 클릭하기 전에 연결 상태를 테스트해야 합니다.
- 데이터 소스가 저장되면 테이블에서 데이터 소스를 선택하고 클릭합니다.
Enable
module.xml jar에는path="ojdbc6.jar"
리소스 루트 태그의 경우, 하지만 당신은 ojdbc6-11.jar를 다운로드했다고 말했습니다.
제 생각에 당신은 당신이 필요합니다.path="ojdbc6-11.jar"
module.xml에서
드라이버에서 드라이버 클래스를 다음과 같이 사용해 보십시오.<driver-class>oracle.jdbc.OracleDriver</driver-class>
$JBOSS_HOME\modules\system\layers\com\oracle\ojdbc6\main이 있고 module.xml의 module name="com.jament.ojdbc"가 standalone.xml의 module="com.jament.ojdbc"와 일치해야 합니다.
예: module.xml -->
<?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>
Jean-François Savard의 수동 솔루션 위에 jboss-deployment-structure.xml에서 jars를 제외한 후에야 실행할 수 있었습니다.이것은 다른 사람들에게 도움이 될 수도 있기 때문에 여기에 로그인만 하면 됩니다.내 jbboss-deployment-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>
JBoss AS의 콘솔 패널로 이동합니다.adduser.bat의 도움으로 만든 사용자의 사용자 이름과 암호를 입력합니다.그러면 모든 구성에 대한 페이지가 나타납니다.이제 주어진 아래 단계를 따릅니다.
1) 프로필로 이동
2) 왼쪽 창에서 데이터 소스 선택
3) 그런 다음 데이터 소스 섹션의 추가 버튼을 클릭합니다.
4) 이름, jndi name 등 상세 정보 제공
- 이름: Oracle DS
- Jndi: jbboss/데이터 소스/Oracle DS
5) 다음 버튼 클릭
6) standalone.xml의 도움으로 jboss에 배포한 드라이버를 선택했습니다.
7) 다음 버튼 클릭
8) 이제 자세한 내용을 입력합니다.
- 연결 URL: jdbc:host:thin:@[host]:1521:[sid]
- 사용자 이름: [user]
- 암호: [pass]
- Security domain: 공백으로 두십시오.
9) 완료를 클릭합니다.
이제 "Datasource added successfully added"(데이터 소스 추가 성공) 메시지가 나타납니다.
그게 다에요..!!
언급URL : https://stackoverflow.com/questions/12049882/jboss-7-oracle-datasource-configuration
'programing' 카테고리의 다른 글
WooCommerce - 제품 카테고리 슬러그를 상점 기반으로 변경 (0) | 2023.09.18 |
---|---|
SQLSTATE[HY093]:잘못된 매개 변수 번호: 바인딩된 변수 수가 102행의 토큰 수와 일치하지 않습니다. (0) | 2023.09.18 |
HTTP GET 요청에 탭별 데이터 바인딩 (0) | 2023.09.18 |
웹 앱에 대한 사용자 지정 마우스 오른쪽 단추 클릭 상황에 맞는 메뉴 만들기 (0) | 2023.09.18 |
Oracle 11g - RegEx로 제약 조건 확인 (0) | 2023.09.18 |