2016-11-22 4 views
1

Ich schreibe meinen hazelcast prototype code. Beim Ausführen des Readers ist der folgende Fehler aufgetreten. Nicht sicher, was ich vermisst habe.Dienst mit Name'hz: impl: cacheService 'nicht gefunden

SEVERE: [host1]: 5701 [dev] [3.7.3] Dienst mit Name'hz: impl: cacheService 'nicht gefunden! com.hazelcast.core.HazelcastException: Dienst mit dem Namen 'hz: impl: cacheService' wurde nicht gefunden! bei com.hazelcast.spi.impl.NodeEngineImpl.getService (NodeEngineImpl.java:350) bei com.hazelcast.spi.Operation.getService (Operation.java:239) bei com.hazelcast.cache.impl.operation. PostJoinCacheOperation.run (PostJoinCacheOperation.java:44) bei com.hazelcast.internal.cluster.impl.operations.PostJoinOperation.run (PostJoinOperation.java:93) bei com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl. run (OperationRunnerImpl.java:181) unter com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl.run (OperationExecutorImpl.java:375) at com.hazelcast.spi.impl.operationservice.impl.OperationServiceImpl.run (OperationServiceImpl.java:267) bei com.hazelcast.spi.impl.operationservice.impl.OperationServiceImpl.runOperatio nOnCallingThread (OperationServiceImpl.java:262) bei com.hazelcast.internal.cluster.impl.operations.FinalizeJoinOperation.runPostJoinOp (FinalizeJoinOperation.java:139) bei com.hazelcast.internal.cluster.impl.operations.FinalizeJoinOperation.run (FinalizeJoinOperation.java:104) bei com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run (OperationRunnerImpl.java:181) bei com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run (OperationRunnerImpl. Java: 396) bei com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.process (OperationThread.java:117) bei com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.run (OperationThread.java: 102) verursacht durch: com.hazelcast.spi.exception.ServiceNotFoundException: Dienst mit dem Namen 'hz: impl : cacheService 'nicht gefunden! ... 14 weitere

Hier ist mein Code

public class Reader { 
    public static void main(String[] args) throws InterruptedException { 

        Config config = new Config(); 
        config.getNetworkConfig().getJoin().getTcpIpConfig().addMember(“host1”).setEnabled(true); 
        config.getNetworkConfig().getJoin().getTcpIpConfig().addMember(“host2”).setEnabled(true); 
        config.getNetworkConfig().getJoin().getMulticastConfig().setEnabled(false); 
        HazelcastInstance hz = Hazelcast.newHazelcastInstance(config); 
        IMap<String, DataDetail> mapCustomers = hz.getMap("customers"); 

        while (true) { 
            mapCustomers.lock("Joe"); 
            try { 
                System.out.println("Joe(R) => " + mapCustomers.get("Joe").getTimeStamp()); 
                Thread.sleep(2000); 
            } finally { 
                mapCustomers.unlock("Joe"); 
            } 
        } 
    } 
} 


public class Writer { 
    public static void main(String[] args) throws InterruptedException { 
        Config config = new Config(); 
         config.getNetworkConfig().getJoin().getTcpIpConfig().addMember(“host1”).setEnabled(true); 
        config.getNetworkConfig().getJoin().getTcpIpConfig().addMember(“host2”).setEnabled(true); 
        config.getNetworkConfig().getJoin().getMulticastConfig().setEnabled(false); 
        HazelcastInstance hz = Hazelcast.newHazelcastInstance(config); 
        IMap<String, DataDetail> mapCustomers = hz.getMap("customers"); 
        DataDetail od = new DataDetail(); 
        od.setDataId(“X1”); 
        od.setTimeStamp(0); 
        int i = 1; 
        while (true) { 
            mapCustomers.lock("Joe"); 
            try { 
                mapCustomers.put("Joe", od); 
                od.setTimeStamp(od.getTimeStamp() + 1); 
                Thread.sleep(2000); 
                DataDetail localOd =  mapCustomers.get("Joe"); 
                System.out.println("Joe(W) => " + localOd.getTimeStamp()); 
            } finally { 
                mapCustomers.unlock("Joe"); 
            } 
        } 

    } 
} 


public class DataDetail  implements DataSerializable { 
    String dataId; 
    Integer timeStamp; 

    public DataDetail() { 
    } 

    public void setDataId(String dataId) { 
        this.dataId = dataId; 
    } 

    public String getDataId() { 
        return this.dataId; 
    } 

    public void setTimeStamp(Integer timeStamp) { 
        this.timeStamp = timeStamp; 
    } 

    public Integer getTimeStamp() { 
        return this.timeStamp; 
    } 

    public void writeData(ObjectDataOutput out) throws IOException { 
        out.writeUTF(dataId); 
        out.writeInt(timeStamp); 
    } 

    public void readData(ObjectDataInput in) throws IOException { 
        dataId = in.readUTF(); 
        timeStamp = in.readInt(); 
    } 
} 

Antwort

4

Sie haben die JCache API-Klassen (JAR) zu Classpath hinzufügen, da sonst die Cache nicht gestartet.

+0

Sobald JCacheAPI im Klassenpfad ist, wird HazelCast das als Zwischenspeicher für die Daten verwenden, die es speichert/holt? – johnsam

+0

Aber mein Code verwendet keinen Cache, warum klagt der Caching-Dienst fehlt? Fügt es intern Caching-Funktion hinzu? – johnsam

+0

Oh, ich sehe, ja gute Frage. Offenbar erwartet der PostJoin, dass der CacheService verfügbar ist. Lassen Sie mich dies an die Technik weitergeben. Danke für die Aufklärung, verpasste diesen Punkt gestern Abend. – noctarius

Verwandte Themen