1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.shardingsphere.sharding.route.engine.type.broadcast;
19
20 import lombok.RequiredArgsConstructor;
21 import org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
22 import org.apache.shardingsphere.infra.route.context.RouteContext;
23 import org.apache.shardingsphere.infra.route.context.RouteMapper;
24 import org.apache.shardingsphere.infra.route.context.RouteUnit;
25 import org.apache.shardingsphere.sharding.route.engine.type.ShardingRouteEngine;
26 import org.apache.shardingsphere.sharding.rule.ShardingRule;
27
28 import java.util.Collections;
29
30
31
32
33 @RequiredArgsConstructor
34 public final class ShardingInstanceBroadcastRoutingEngine implements ShardingRouteEngine {
35
36 private final ResourceMetaData resourceMetaData;
37
38 @Override
39 public RouteContext route(final ShardingRule shardingRule) {
40 RouteContext result = new RouteContext();
41 for (String each : shardingRule.getDataSourceNames()) {
42 if (resourceMetaData.getAllInstanceDataSourceNames().contains(each)) {
43 result.getRouteUnits().add(new RouteUnit(new RouteMapper(each, each), Collections.emptyList()));
44 }
45 }
46 return result;
47 }
48 }