[SPRING] 스프링 부트 애플리케이션에서 스프링 JMS 자동 설정 비활성화하기
SPRING스프링 부트 애플리케이션에서 스프링 JMS 자동 설정 비활성화하기
내 봄 부팅 응용 프로그램에서 그것은 응용 프로그램의 필요로 MQQueueConnectionFactory (다른 ID)의 두 가지 인스턴스를 구성합니다. 이를 위해 iibm client jars를 추가했습니다.
JmsTemplate 등의 클래스를 원했기 때문에 스프링 코드 종속성을 코드에 추가했습니다. 이 종속성을 추가 한 후 JmsAutoConfiguration은 클래스 경로에서 JmsTemplate을 찾아 bean을 구성하려고 시도합니다. 이 프로세스에서는 ConnectionFactory 유형의 bean을 삽입하려고 시도하는데, 여기에서는 코드가 실패하고 오류가 발생하기 시작합니다. 아래는 JmsAutoConfiguration의 코드입니다.
@Configuration
@ConditionalOnClass(JmsTemplate.class)
@ConditionalOnBean(ConnectionFactory.class)
@EnableConfigurationProperties(JmsProperties.class)
@Import(JmsAnnotationDrivenConfiguration.class)
public class JmsAutoConfiguration {
@Autowired
private JmsProperties properties;
@Autowired
private ConnectionFactory connectionFactory;
@Autowired(required = false)
private DestinationResolver destinationResolver;
혹시 봄 부팅의 JmsAutoconfiguration 기능을 끌 수있는 기능이 있습니까? 그렇지 않다면 이것에 대한 대체 솔루션은 무엇입니까?
해결법
-
==============================
1.비활성화하려는 자동 구성을 SpringBootApplication 주석에 추가 할 수 있습니다.
비활성화하려는 자동 구성을 SpringBootApplication 주석에 추가 할 수 있습니다.
@SpringBootApplication(exclude = JmsAutoConfiguration.class)
-
==============================
2.속성 (이 경우 application.yml)을 통해 제어하려는 경우 다음과 같이 할 수 있습니다.
속성 (이 경우 application.yml)을 통해 제어하려는 경우 다음과 같이 할 수 있습니다.
spring: autoconfigure: exclude: org.springframework.boot.autoconfigure.jms.JmsAutoConfiguration
-
==============================
3.참고로, 이것을 사용하여 ActiveMQ를 비활성화하십시오.
참고로, 이것을 사용하여 ActiveMQ를 비활성화하십시오.
@SpringBootApplication(exclude = ActiveMQAutoConfiguration.class)
from https://stackoverflow.com/questions/33275088/disabling-spring-jms-auto-configuration-in-spring-boot-application by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring에서는 선택적 경로 변수를 만들 수 있습니까? (0) | 2019.04.17 |
---|---|
[SPRING] Spring @QuerydslPredicate Questions (0) | 2019.04.17 |
[SPRING] @EnableAsync와 동일한 스프링 XML (0) | 2019.04.17 |
[SPRING] Spring에서 값을 가진리스트를 지정하는 가장 쉬운 방법은 무엇입니까? (0) | 2019.04.17 |
[SPRING] Grails 서비스에서 트랜잭션 롤백 (0) | 2019.04.16 |