2017-03-28 4 views
-2

enter image description here봄 부팅 - 2 JNDI 구성

게시 내 현재 구성

+0

내가 배치 파일의 태그를 제거했습니다. 나는 boot-1.5.2.RELEASE 버전을 사용하고있다. – Jay

답변

1
@Configuration 
public class Config { 
    @Value("${spring.datasource.primary.jndi-name}") 
    private String primaryJndiName; 

    @Value("${spring.datasource.secondary.jndi-name}") 
    private String secondaryJndiName; 

    @Primary 
    @Bean(destroyMethod = "") // destroy method is disabled for Weblogic update app ability 
    public DataSource primaryDs() { 
     JndiDataSourceLookup lookup = new JndiDataSourceLookup(); 
     return lookup.getDataSource(primaryJndiName); 
    } 

    @Bean(destroyMethod = "") // destroy method is disabled for Weblogic update app ability 
    public DataSource secondaryDs() { 
     JndiDataSourceLookup lookup = new JndiDataSourceLookup(); 
     return lookup.getDataSource(secondaryJndiName); 
    } 
} 
0

나는이 방법을 구현 당신이 등록 정보 파일을 한 후 부하에 JNDI 값을 넣을 수 있습니다

을하고있다 bean의 해당 특성 파일 defination.xml

jndi.properties

#JNDI property for job repository 
job.repository.db.connection=jdbc/pgDB 
#JNDI property for application 
application.db.connection=jdbc/db2Conn 

콩 - defination.xml

<bean id="propertyPlaceholderConfigurer" 
     class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
     <property name="locations"> 
      <list> 
       <value>classpath*:/properties/jndi.properties</value> 
      </list> 
     </property> 
     <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" /> 
    </bean> 

<bean id="jobRepoDataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> 
     <property name="jndiName" value="${job.repository.db.connection}" /> 
    </bean> 

    <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> 
     <property name="jndiName" value="${application.db.connection}" /> 
    </bean>