2012-09-27 3 views
2

Netflix 큐레이터의 CuratorFramework 개체 인스턴스는 "돌연변이 작업을"inTransaction() "실행할 수 있습니다. 나는 현재이 전화를 사용하고 있지만, 내 인생을 위해 내가 무리를 만들었으니 이제는 어떻게해야 할지를 알아낼 수는 없다.Netflix 큐레이터 : 커밋 트랜잭션

CuratorTransaction javadoc (여기에서 찾을 수 있습니다 : http://netflix.github.com/curator/doc/com/netflix/curator/framework/api/transaction/CuratorTransaction.html)을 보면 "중요 : CuratorTransactionFinal.commit()이 호출 될 때까지 작업이 제출되지 않습니다." 그러나, CuratorTransactionFinal은 (내가 찾을 수있는) 구현 클래스가없는 인터페이스입니다.

나는 그것을 구현하고 commit()의 기능을 정의 할 것으로 예상됩니까? 아니면 좀 더 큰 개념을 놓치고 있습니까?

덕분에 소스 코드에서 발견

답변

2

:

은 CuratorFramework의 인스턴스는 "클라이언트"라고 가정하면. 이 같은 작업을 수행 할 경우

...

client.create().forPath("/foo"); 

... 그것은 트랜잭션이 아니다. 수행하면 ...

client.inTransaction().create.forPath("/foo"); 

...하지만 트랜잭션을 커밋 할 때까지 작업이 실제로 완료되지 않습니다. 이 정도는 이미 알고있었습니다.

client.inTransaction().create().forPath("/foo") 
    .and().create().forPath("/bar") 
    .and().commit(); 

개인적으로 나는 이것이 불충분 한 트랜잭션 시스템이라고 생각하지만 ... 당신은 무엇을 할 수 있습니까? 이것이 완료된 방법입니다.

관련 문제