liulingling.177216
2024-08-26 349f1cfc5fa77fbc636d542df0d8050fddec48c2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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;
  }
}