2017-08-29 92 views
0

我見過很多關於com.hazelcast.spi.exception.TargetNotMemberException: Not Member! target:Hazelcast TargetNotMemberException:不是成員!目標

的帖子但是在這種情況下該怎麼辦?問:是否可以將捕獲異常,並做「hazelCastInstance.shutdown()`」

而且它有可能在「錯誤的節點」看汽車無:「在隊列剩餘的遷移任務=> 1」

Hazelcast 3.7具有兩個節點的羣集。

完整的堆棧跟蹤:

com.hazelcast.spi.exception.TargetNotMemberException: Not Member! target: [machine]:5704, partitionId: 0, operation: com.hazelcast.map.impl.query.QueryPartitionOperation, service: hz:impl:mapService 
     at com.hazelcast.spi.impl.operationservice.impl.Invocation.initInvocationTarget(Invocation.java:324) 
     at com.hazelcast.spi.impl.operationservice.impl.Invocation.doInvoke(Invocation.java:256) 
     at com.hazelcast.spi.impl.operationservice.impl.Invocation.access$300(Invocation.java:94) 
     at com.hazelcast.spi.impl.operationservice.impl.Invocation$InvocationRetryTask.run(Invocation.java:530) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) 
     at java.lang.Thread.run(Thread.java:682) 
     at com.hazelcast.util.executor.HazelcastManagedThread.executeRun(HazelcastManagedThread.java:76) 
     at com.hazelcast.util.executor.HazelcastManagedThread.run(HazelcastManagedThread.java:92) 
     at ------ submitted from ------.(Unknown Source) 
     at com.hazelcast.spi.impl.operationservice.impl.InvocationFuture.resolve(InvocationFuture.java:111) 
     at com.hazelcast.spi.impl.operationservice.impl.InvocationFuture.resolveAndThrow(InvocationFuture.java:74) 
     at com.hazelcast.spi.impl.AbstractInvocationFuture.get(AbstractInvocationFuture.java:158) 
     at com.hazelcast.map.impl.query.MapQueryEngineImpl.addResultsOfPredicate(MapQueryEngineImpl.java:605) 
     at com.hazelcast.map.impl.query.MapQueryEngineImpl.invokeQueryAllPartitions(MapQueryEngineImpl.java:506) 
     at com.hazelcast.map.impl.proxy.MapProxyImpl.entrySet(MapProxyImpl.java:633) 
     at com.hazelcast.map.impl.proxy.MapProxyImpl.entrySet(MapProxyImpl.java:622) 
     at myClass.getAll(MyClass.java:10) 

回答

0

TargetNotMemberException延伸RetryableHazelcastException進一步延伸HazelcastException,這樣你就可以趕上HazelcastException,然後關閉實例或您可以搭乘直接TargetNotMemberException和關機Hazelcast實例。你可以考慮下課。

TargetNotMemberException.java

你可以像這樣的代碼......

import java.io.PrintWriter; 
import java.io.StringWriter; 

import com.hazelcast.config.Config; 
import com.hazelcast.core.Hazelcast; 
import com.hazelcast.core.HazelcastException; 
import com.hazelcast.core.HazelcastInstance; 
import com.hazelcast.spi.exception.TargetNotMemberException; 

public class HazelcastExceptionTest { 
    public static void main(String[] args) { 
     Config config = new Config("instanceOne"); 
     HazelcastInstance instanceOne = Hazelcast.newHazelcastInstance(config); 

     try { 
      testTargetNotMemberException(); 
     } 
     catch (HazelcastException e) { 
      StringWriter trace = new StringWriter(); 
      PrintWriter eTrace = new PrintWriter(trace, true); 
      e.printStackTrace(eTrace); 
      System.out.println("exception " + trace.toString()); 
      instanceOne.shutdown(); 

     } 
    } 

    public static void testTargetNotMemberException() { 
     throw new TargetNotMemberException("TargetNotMemberException"); 
    } 
}