많은 경우 통합 플로우에서 광범위한 역할을하는 .handle("someBean", "someMethod")
EIP 메소드를 보았습니다. 나는 이것이 이전의 XML Config의 서비스 액티베이터 일 뿐이라는 것을 이해할 수 있지만,이 빈을 만드는 방법에 대한 명확한 설명과 someMethod
의 리턴이 필요합니다. 또한 어떤 경우에 .handle(...)
을 사용해야합니까? Java DSL을 사용한 완성 된 예제가 나에게 도움이 될 것입니다.스프링 통합 Java DSL .handle (String beanName, String methodName)
1
A
답변
1
정확히 알 수 있듯이 .handle("someBean", "someMethod")
은 <int:service-activator ref="someBean" method="someMethod"/>
: https://docs.spring.io/spring-integration/reference/html/messaging-endpoints-chapter.html#service-activator-namespace과 완전히 동일합니다.
즉, someMethod
에 서비스 호출에 대한 정의가 someBean
이어야합니다. 예를 들어, 당신은 위의 경우에 수신 메시지의 payload
를 변환하고 결과를 반환하는 간단한 논리를 수행해야합니다
class MyService {
public String someMethod(String payload) {
return payload.toUpperCase();
}
}
이 방법의 반환은 다음 EIP 엔드 포인트에 대한 아웃 바운드 메시지의 payload
로된다 귀하의 IntegrationFlow
정의.
Java DSL의 모든 내용은 참조 설명서에 나와 있습니다. 특히 <service-activator>
또는 @ServiceActivator
에 대한 모든 규칙이 .handle()
에 적용됩니다.
관련 문제
- 1. 스프링 통합 FTP Java DSL
- 2. 스프링 통합 DSL ErrorHandling
- 3. 스프링 통합 dsl http outboundgateway
- 4. 스프링 통합 Java DSL 서비스 액티베이터 용 Spel 사용 방법
- 5. 스프링 통합 JMS DSL
- 6. LinqToSql 결과에서 MethodName (String)으로 값을 찾으십니까?
- 7. 유닛 테스트 스프링 통합 플로우 DSL
- 8. 카프카 0.9 스프링 통합 DSL 구성
- 9. 스프링 통합 IntegrationFlow DSL for ftp
- 10. required String [] found String Java
- 11. 스프링 통합 DSL 중간 흐름 트랜잭션 추가
- 12. 스프링 통합 - AMQP 유추 된 유형 Java DSL?
- 13. 플로우 통합 테스트 (Java DSL 구성)
- 14. Java 정렬 맵 <String, String> by String prefix
- 15. JAVA : json string <string, string> (또는 객체)
- 16. Camel - REST DSL (2.14.0) 및 String bean
- 17. Java : assertEquals (String, String)가 안정적입니까?
- 18. Java HashMap <String, String> 값이
- 19. "string"! = "string"
- 20. getOrDefault (String, String) 메서드가 Map <String, String>
- 21. android java string operation
- 22. Java String Split/Manipulation
- 23. java from String [] from
- 24. java wsimport string
- 25. indexOf() String 클래스 Java
- 26. Java String RegularExpressions
- 27. Java java.time.format.DateTimeParseException on String
- 28. Java String Bubble Sorting
- 29. String split, Java
- 30. 배열 초기화 string [] [] java
신속한 답변을 해주신 Artem에 감사드립니다. 'someMethod'에'@ Bean'으로 주석을 달 필요가 있습니까? 또한 변환 EIP 메소드를 사용하여 동일한 논리를 수행 할 수 있으므로'.handle (...) '사용법에 대한 또 다른 예제를 제공 할 수 있습니까? 어느 경우에'.handle (...) '을 엄격하게 사용해야합니까? –
아니요, 빈에 대해서는'@ Bean' 만 필요합니다. bean 메소드를 @Configuration' 파일에 추가합니다. 이미 bean 인'someBean'을 가지고 있습니다. 서비스 메소드에는 주석이 전혀 없을 수 있습니다. '.transform()'과 모순되는'.handle()'의 또 다른 샘플은 당신의 메소드에서'JdbcTemplate'을 직접적으로 사용하는 것과 같습니다. 맞아, 당신도 변압기로 그렇게 할 수 있지만 적절한 구성 요소 사이의 로직을 구별하는 것이 낫다. 그것이 변환에 관한 것이 아니라면, .handle()이 당신을위한 것이다! 게다가 .handle()은 응답을 필요로하지 않지만'.transform()'은 응답한다는 것을 명심하십시오. –