ali
2024-09-03 0ae83a895e80a4b9777a27f613d721a7e5e2ac18
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;
  }
}