[SPRING] NameNotFoundException : 이클립스 케플러에서 게시 할 때만 'jdbc'를 조회하려고하지만 인디고는 그렇지 않습니다.
SPRINGNameNotFoundException : 이클립스 케플러에서 게시 할 때만 'jdbc'를 조회하려고하지만 인디고는 그렇지 않습니다.
Oracle Weblogic 12c (12.1.1) AdminServer에 Eclipse-Indigo 3.7.2에서 oepe 12.1.1.1.1을 사용하여 웹 응용 프로그램을 게시 할 수 있습니다.
그러나 oepe 12.1.2.2를 사용하여 Eclipse Kepler 4.3.1로 가져온 것과 똑같은 웹 응용 프로그램은 다음과 같이 게시하지 못합니다 (예외는 있습니다). 이유는 무엇입니까? ...
Weblogic 12c 데이터 소스는 확실히 사용할 수 있으므로 인디고에서 게시 할 때 응용 프로그램을 배포하고 아무런 문제없이 실행하면 올바르게 구성되었다고 가정해야합니다.
또한 indento에서 게시 할 때 applicationContext.xml, web.xml 및 weblogic.xml의 매핑이 올바른 것으로 가정하므로 다시 문제가 없습니다. 매핑은 다음과 같습니다 ...
src \ main \ webapp \ WEB-INF \ spring \ applicationContext.xml
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/oraclexe" />
</bean>
src \ main \ webapp \ WEB-INF \ web.xml
<resource-ref>
<description>Oracle Weblogic Connection Pool (oraclexe)</description>
<res-ref-name>jdbc/oraclexe</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<mapped-name>jdbc/oraclexe</mapped-name>
</resource-ref>
build \ weboutput \ WEB-INF \ weblogic.xml
<resource-description>
<res-ref-name>jdbc/oraclexe</res-ref-name>
<jndi-name>oraclexe</jndi-name>
</resource-description>
jndiName / resource-ref / res 사이의 매핑 문제가 아닌 weblogic.xml이 배포 중에 사용 가능하지 않은지 궁금합니다 (예 : src \ main \ webapp \ WEB-INF 폴더로 복사되지 않음). -ref-name 그 자체? weblogic.xml을 src \ main \ webapp \ WEB-INF 폴더에 직접 저장하려고 시도했지만 동일한 예외가 발생합니다.
나의 유일한 다른 생각은 Indigo oepe 12.1.1.1.1이 Weblogic 12.1.1에 게시하는 것이 행복하지만 Kepler oepe 12.1.2가 아니며 Weblogic 12.1.2 서버에 게시해야한다는 것입니다.
해결법
-
==============================
1.1 주일 정도의 시행 착오 / 제거 과정을 거쳐이 문제를 해결하고 필요한 매핑을 더 잘 이해할 수있었습니다. 엘리엇 (Elliott)은 이것이 JNDI 조회에 문제가 있다고 의심했기 때문입니다. 그것은 Indigo에서 weblogic 12.1.1에 게시 될 때 예상대로 작동한다는 사실에 의해 혼합되었습니다. (나는 아직도 그 이유가 확실하지 않습니다.)
1 주일 정도의 시행 착오 / 제거 과정을 거쳐이 문제를 해결하고 필요한 매핑을 더 잘 이해할 수있었습니다. 엘리엇 (Elliott)은 이것이 JNDI 조회에 문제가 있다고 의심했기 때문입니다. 그것은 Indigo에서 weblogic 12.1.1에 게시 될 때 예상대로 작동한다는 사실에 의해 혼합되었습니다. (나는 아직도 그 이유가 확실하지 않습니다.)
이를 해결하기위한 초기 시도는 weblogic.xml의 매핑에 초점을 맞추 었습니다. weblogic 서버에 퍼블리싱 할 때 데이터 소스를 확인할 때 이것이 참조되었다고 잘못 가정했습니다. 결과적으로 이것이 사실이 아니며 weblogic.xml 자원 설명이 필요하지 않습니다.
applicationContext.xml은 그대로 유지됩니다.
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="java:comp/env/jdbc/oraclexe" /> </bean>
그러나 java : comp / env / jdbc / oraclexe의 jndiName 값은 web.xml res-ref-name 값 인 jdbc / oraclexe에 매핑됩니다 (내가 잘못 가정 한 weblogic.xml res-ref-name이 아닙니다). ..
web.xml 매핑 된 이름이 수정되었습니다.
<resource-ref> <description>Oracle Weblogic console JDBC Data Source</description> <res-ref-name>jdbc/oraclexe</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> <mapped-name>oraclexe</mapped-name> </resource-ref>
... 그러면 Weblogic 콘솔 JDBC 데이터 소스 JNDI 이름에 매핑되는 매핑 된 이름 값 oraclexe가됩니다.
weblogic.xml의 리소스 설명 노드는이 특정 구성에서 참조되지 않기 때문에 완전히 생략되었습니다.
-
==============================
2.필자의 경우, 설정은 Weblogic 12.1.3과 Eclipse Mars 4.5.0이었다; 귀는 wls에 잘 적용되어 작동했지만 elipse에서 게시 할 때도 동일한 오류가 발생했습니다. 문제는 데이터 소스의 운명이 응용 프로그램을 배포하기 위해 만들어진 서버 였고 Eclipse가 AdminServer에 게시했기 때문입니다. 데이터 소스에 두 가지 운명을 추가했는데 제대로 작동했습니다.
필자의 경우, 설정은 Weblogic 12.1.3과 Eclipse Mars 4.5.0이었다; 귀는 wls에 잘 적용되어 작동했지만 elipse에서 게시 할 때도 동일한 오류가 발생했습니다. 문제는 데이터 소스의 운명이 응용 프로그램을 배포하기 위해 만들어진 서버 였고 Eclipse가 AdminServer에 게시했기 때문입니다. 데이터 소스에 두 가지 운명을 추가했는데 제대로 작동했습니다.
-
==============================
3.이것은 나를 위해 일한 구성입니다 :
이것은 나를 위해 일한 구성입니다 :
applicationContext.xml
<jee:jndi-lookup id="dataSource" resource-ref="true" jndi-name="jdbc/alias" expected-type="javax.sql.DataSource" />
을 포함한다.
<resource-ref> <res-ref-name>jdbc/alias</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>
weblogic.xml
<wls:resource-description> <wls:res-ref-name>jdbc/alias</wls:res-ref-name> <wls:jndi-name>jdbc/resource/weblogic</wls:jndi-name> </wls:resource-description>
from https://stackoverflow.com/questions/21355945/namenotfoundexception-while-trying-to-lookup-jdbc-only-when-publishing-from-e by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Hibernate 반환 정수 값 (0) | 2019.04.22 |
---|---|
[SPRING] Spring MVC AccessDeniedException @PreAuthorized unauth 요청에 대한 사용자 지정 401 오류 대신 500 오류가 수신되었습니다. (0) | 2019.04.22 |
[SPRING] 스프링 MVC 폼 유효성 검사 날짜 필드 (0) | 2019.04.22 |
[SPRING] IE는 NTLM 인증을 사용하는 동안 무작위로 빈 POST 본문을 보냅니다 (각도를 봄으로 사용). (0) | 2019.04.22 |
[SPRING] EnableWebSecurity를 사용할 때 AuthenticationPrincipal이 비어 있습니다. (0) | 2019.04.22 |