EntryProcessor 또는 ExecutorService를 사용하여 hazelcast에 문제가 있습니다. 키가 구성원에 없으면 프로세서는 각 노드에서 여전히 실행되며 이유를 이해할 수 없습니까?HazelcastGrid Computing EntryProcessor 모든 구성원에서 실행
프로세서가 null 키를 수신합니다. 일부 코드
//example of IMap executeOnKeys
Map<?, ?> map = getCache().executeOnKeys(keys, processor);
//example using executor service
Future<Object[]> result = executor.submitToKeyOwner(myCallable, key);
public class MyCallable implements Callable<Object[]>, Serializable {
...code
}
두 가지 예
public class MyProcessor implements EntryProcessor<MyKey, MyValue>, Serializable {
...code
}
호출 가능 프로세서와
UPDATE는 클러스터의 모든 노드가 요청을받을 수 있습니다. 그들이 열쇠를 가지고 있지 않다면, 과정이 촉발되고 그것이 문제입니다.
클러스터의 일부인 라이트 멤버로부터 요청을 보내고 있습니다. 키가 존재하는 경우 EntryProccessor는 확인하지 않습니다
:-) 처리를 존재 생략하지 않는 키를 기대할 수없는 경우 당신은 어떻게 EntryProcessor 또는 부르죠 ExecutorService? 모든 예제 코드? 당신이 생각하는대로하면 버그처럼 들리지만 먼저 코드를 공유하십시오. – noctarius
일부 코드가 추가되었으므로 이제는 더 좋습니다. 감사! – Patrick
이 요청을 라이트 멤버에게 보냅니 까? 아직 100 % 확신하지 못했습니다. 라이트 멤버는 키가 전혀 없으므로 라이트 멤버에게 주어진 키가 어떻게 저장되는지 확인하려면 어떻게해야합니까? 당신이 찾고있는 것은 아마도 회원 주소 지정입니다 :'executor.submitToMember (callable, member)' – noctarius