package com.dingzhuo.compute.engine.config; import akka.cluster.sharding.ShardRegion.MessageExtractor; import com.dingzhuo.compute.engine.message.BaseActorMessage; /** * @author fanxinfu */ public class CalcMessageExtractor implements MessageExtractor { @Override public String entityId(Object message) { if (message instanceof BaseActorMessage) { return ((BaseActorMessage) message).getActorId(); } return null; } @Override public Object entityMessage(Object message) { return message; } @Override public String shardId(Object message) { if (message instanceof BaseActorMessage) { return String.valueOf(((BaseActorMessage) message).getActorId().hashCode() % 10); } return null; } }