2014-09-04 2 views
1

: 그룹 에거래 및 애그리 게이터 (aggregator) 나는 그리 게이터의 코드를 본 적이 그리고 지금까지 내가 이해, 그것은 다음과 같은 작전 않습니다

추가 메시지 그룹이 다음 해제 할 수있는 경우 : 전체 그룹에 보내 출력/경우 (만료-그룹) 제거 그룹과 메시지를 메시지 저장소 다른 에서 내가 전부 또는 아무것도를 할 몇 가지 ACID 트랜잭션 지원이 필요 여기

메시지 만

을 제거하지만, 문서를 읽고 채널 회신, 나는 '나오지 않았어 그렇게하는 법을 찾지 마십시오. 가능한지 말해 주시겠습니까? 그렇다면 어떻게 할 수 있습니까? 사전

점에서

감사 구즈

+0

거래의 범위 내에서 원하는 것은 무엇입니까? 모든 추가 및 릴리스? 또는 다른 것. –

+0

하나의 메시지 추가 및 릴리스 이후 그룹의 모든 메시지 제거 – gllambi

답변

0

당신은 수집기 트랜잭션에 대한 인바운드 (직접) 채널을 만들 수 있습니다 ... 일반 전달 및 방출을 처리 할

<tx:advice id="txAdvice" transaction-manager="transactionManager"> 
    <tx:attributes> 
     <tx:method name="send" /> 
    </tx:attributes> 
</tx:advice> 

<aop:config> 
    <aop:pointcut id="aggTx" expression="execution(* *.send(..)) &amp;&amp; bean(toAggChannel)" /> 
    <aop:advisor advice-ref="txAdvice" pointcut-ref="aggTx" /> 
</aop:config> 

.

트랜잭션을 처리하는 일부 그룹을 만들려면 MessageGroupStoreReaper을 사용하고 MessageGroupStore.expireMessageGroups() 메서드를 비슷한 방법으로 트랜잭션 화하십시오.

group-timeout 또는 group-timeout-expression을 사용할 때 현재 트랜잭션의 부분 그룹 만료 기한을 설정할 수 없습니다.

관련 문제