2017-01-31 67 views
1

WebLogic 12c에 배포 할 WAR 파일을위한 JNDI 데이터베이스 연결을 설정하려고합니다. 이것은 내가 무엇을 가지고 :스프링 부트로 JNDI 연결 설정하기

application.properties 파일에서
@Bean 
public DataSource dataSource() throws DataSourceLookupFailureException { 
    JndiDataSourceLookup dataSourceLookup = new JndiDataSourceLookup(); 

    return dataSourceLookup.getDataSource("jndiName"); 
} 

:

jndiName가 두 번 표시 되었습니까? 나는 올바르게 따라하고 있는가? 이것은 올바른 설치 방법인가?

은 내가 getDataSource()에 JNDI 이름을 하드 코딩 할 필요가 없도록 봄 부팅 중 자동 application.properties에서 JNDI 이름을 검색합니다 인상의 생각, 또는 내가의 JNDI 이름을 하드 코딩하면 그때 필요가 없을 것입니다 그 재산을 먼저 application.properties에 포함 시키십시오.

JNDI 연결을 설정하는 방법을 설명하는 가이드의 두 섹션이 서로 모순되는 것처럼 보입니다. 나는 무엇이 잘못 되었는가? 정확히 이것을 설정하는 올바른 방법은 무엇입니까?

+0

올바른 방법은 아닙니다. 단지'application.properties'에서 JNDI 이름을 지정하면 Spring Boot가 검색을 할 것입니다. 자신의 조회를 제거하십시오. 두 가지 방법 중 하나를 선택해야합니다. 당신이 가리키고있는 섹션은 기본 설정 옵션이 당신이 필요로하지 않는 것 인 맞춤 데이터 소스를 설정하는 것에 관한 것입니다. –

+0

@ M.Deinum 저는이 문제에 익숙하지 않으므로 제발 참아주십시오. 그래서'dataSource()'전체가 불필요하다는 것을 말하고 있습니까? 필요한 것은'application.properties'에서 한 줄짜리입니다. 또한 파일을 사용하기 위해 파일 내부에 있어야하는 것이 있습니까? – thegreatjedi

+1

기본적으로'application.properties'에있는 항목 만 있으면됩니다. –

답변

0

이 접근 방식은 주요 방법으로 프로파일을 정의 H2 또는 포함 된 컨테이너에서 다른 데이터베이스를 사용하려면

작동하지 않습니다 포함 된 컨테이너를 실행하려면 사용자 정의 콩 및 사용 application.properties하지만 지역 환경을 제거하고 그런 다음 데이터 소스를 구성하십시오. 이 방법은 로컬 및 프로덕션 모두에서 작동합니다.