Skip to content

Commit d0d88fb

Browse files
authored
Merge pull request #98 from duhenglucky/main_strategy
[ISSUE #99] Add default rebalance strategy
2 parents 2b9d15b + 8fff972 commit d0d88fb

File tree

2 files changed

+14
-33
lines changed

2 files changed

+14
-33
lines changed

rocketmq-streams-channel-rocketmq/src/main/java/org/apache/rocketmq/streams/source/RocketMQSource.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ public class RocketMQSource extends AbstractSupportShuffleSource {
7878

7979
protected Long pullIntervalMs;
8080

81-
protected String strategyName;
81+
protected String strategyName = STRATEGY_AVERAGE;
8282

8383
protected transient DefaultMQPushConsumer consumer;
8484
protected transient ConsumeFromWhere consumeFromWhere;//默认从哪里消费,不会被持久化。不设置默认从尾部消费

rocketmq-streams-configurable/src/main/java/org/apache/rocketmq/streams/configurable/service/AbstractConfigurableService.java

Lines changed: 13 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
package org.apache.rocketmq.streams.configurable.service;
1818

1919
import com.alibaba.fastjson.JSONObject;
20-
2120
import java.util.ArrayList;
2221
import java.util.Collection;
2322
import java.util.HashMap;
@@ -28,7 +27,6 @@
2827
import java.util.concurrent.ScheduledExecutorService;
2928
import java.util.concurrent.ScheduledThreadPoolExecutor;
3029
import java.util.concurrent.TimeUnit;
31-
3230
import org.apache.commons.logging.Log;
3331
import org.apache.commons.logging.LogFactory;
3432
import org.apache.rocketmq.streams.common.component.AbstractComponent;
@@ -94,7 +92,7 @@ protected void updateConfiguresCache(List<IConfigurable> configureList) {
9492

9593
protected boolean equals(String key, List<?> newConfigureList) {
9694
for (Object o : newConfigureList) {
97-
IConfigurable configure = (IConfigurable)o;
95+
IConfigurable configure = (IConfigurable) o;
9896
String tempKey = getConfigureKey(configure.getNameSpace(), configure.getType(), configure.getConfigureName());
9997
if (key.equals(tempKey)) {
10098
IConfigurable oldConfigure = configurableMap.get(key);
@@ -115,31 +113,24 @@ public <T extends IConfigurable> List<T> queryConfigurableByType(String type) {
115113
}
116114
List<T> result = new ArrayList<T>();
117115
for (IConfigurable configurable : list) {
118-
result.add((T)configurable);
116+
result.add((T) configurable);
119117
}
120118
return result;
121119
}
122120

123121
@Override
124122
public boolean refreshConfigurable(String namespace) {
125-
//每次刷新,重新刷新配置文件
126-
//if(ComponentCreator.propertiesPath!=null){
127-
// ComponentCreator.setProperties(ComponentCreator.propertiesPath);
128-
//}
123+
129124
this.namespace = namespace;
130-
// Map<String, List<IConfigurable>> namespace2ConfigurableMap = new HashMap<>();
131125
Map<String, List<IConfigurable>> tempType2ConfigurableMap = new HashMap<>();
132126
Map<String, IConfigurable> tempName2ConfigurableMap = new HashMap<>();
133127
GetConfigureResult configures = loadConfigurable(namespace);
134-
// updateConfiguresCache(configures.getConfigure());
135128
if (configures != null && configures.isQuerySuccess() && configures.getConfigurables() != null) {
136-
// List<Configure> configureList = filterConfigure(configures.getConfigure());
137129
List<IConfigurable> configurables = configures.getConfigurables();
138130
List<IConfigurable> configurableList = checkAndUpdateConfigurables(configurables, tempType2ConfigurableMap, tempName2ConfigurableMap);
139-
// this.namespace2ConfigurableMap = namespace2ConfigurableMap;
140131
for (IConfigurable configurable : configurableList) {
141132
if (configurable instanceof IAfterConfigurableRefreshListener) {
142-
((IAfterConfigurableRefreshListener)configurable).doProcessAfterRefreshConfigurable(this);
133+
((IAfterConfigurableRefreshListener) configurable).doProcessAfterRefreshConfigurable(this);
143134
}
144135
}
145136
return true;
@@ -149,10 +140,12 @@ public boolean refreshConfigurable(String namespace) {
149140

150141
@Override
151142
public <T> T queryConfigurable(String configurableType, String name) {
152-
return (T)queryConfigurableByIdent(configurableType, name);
143+
return (T) queryConfigurableByIdent(configurableType, name);
153144
}
154145

155-
protected List<IConfigurable> checkAndUpdateConfigurables(List<IConfigurable> configurables, Map<String, List<IConfigurable>> tempType2ConfigurableMap, Map<String, IConfigurable> tempName2ConfigurableMap) {
146+
protected List<IConfigurable> checkAndUpdateConfigurables(List<IConfigurable> configurables,
147+
Map<String, List<IConfigurable>> tempType2ConfigurableMap,
148+
Map<String, IConfigurable> tempName2ConfigurableMap) {
156149
List<IConfigurable> configurableList = new ArrayList<>();
157150
for (IConfigurable configurable : configurables) {
158151
try {
@@ -185,7 +178,7 @@ private void destroyOldConfigurables(Map<String, IConfigurable> tempName2Configu
185178

186179
private void destroyOldConfigurable(IConfigurable oldConfigurable) {
187180
if (AbstractConfigurable.class.isInstance(oldConfigurable)) {
188-
((AbstractConfigurable)oldConfigurable).destroy();
181+
((AbstractConfigurable) oldConfigurable).destroy();
189182
}
190183
String key = getConfigureKey(oldConfigurable.getNameSpace(), oldConfigurable.getType(),
191184
oldConfigurable.getConfigureName());
@@ -194,17 +187,14 @@ private void destroyOldConfigurable(IConfigurable oldConfigurable) {
194187

195188
protected void initConfigurable(IConfigurable configurable) {
196189
if (AbstractConfigurable.class.isInstance(configurable)) {
197-
AbstractConfigurable abstractConfigurable = (AbstractConfigurable)configurable;
190+
AbstractConfigurable abstractConfigurable = (AbstractConfigurable) configurable;
198191
abstractConfigurable.setConfigurableService(this);
199192
}
200193

201194
configurable.init();
202195

203196
}
204197

205-
/**
206-
* 内部使用
207-
*/
208198
private ScheduledExecutorService scheduledExecutorService;
209199

210200
@Override
@@ -232,10 +222,6 @@ public void run() {
232222
}, polingTime, polingTime, TimeUnit.SECONDS);
233223
}
234224
}
235-
// @Override
236-
// public List<IConfigurable> queryConfigurable(String nameSpace) {
237-
// return namespace2ConfigurableMap.get(nameSpace);
238-
// }
239225

240226
@Override
241227
public List<IConfigurable> queryConfigurable(String type) {
@@ -260,7 +246,6 @@ public IConfigurable queryConfigurableByIdent(String type, String name) {
260246

261247
@Override
262248
public void update(IConfigurable configurable) {
263-
// update(configurable,name2ConfigurableMap,type2ConfigurableMap);
264249
updateConfigurable(configurable);
265250
}
266251

@@ -284,7 +269,6 @@ protected boolean update(IConfigurable configurable, Map<String, IConfigurable>
284269
IConfigurable oldConfigurable = this.name2ConfigurableMap.get(nameKey);
285270
if (equals(configureKey, configurableList)) {
286271
configurable = oldConfigurable;
287-
// name2ConfigurableMap.put(nameKey, name2ConfigurableMap.get(nameKey));
288272
} else {
289273
destroyOldConfigurable(oldConfigurable);
290274
initConfigurable(configurable);
@@ -297,14 +281,12 @@ protected boolean update(IConfigurable configurable, Map<String, IConfigurable>
297281
updateConfiguresCache(configurable);
298282
name2ConfigurableMap.put(nameKey, configurable);
299283
String typeKey = MapKeyUtil.createKey(configurable.getType());
300-
// put2Map(namespace2ConfigurableMap, namespace, configurable);
301284
put2Map(type2ConfigurableMap, typeKey, configurable);
302285
return isUpdate;
303286
}
304287

305288
@Override
306289
public void insert(IConfigurable configurable) {
307-
// update(configurable,name2ConfigurableMap,type2ConfigurableMap);
308290
insertConfigurable(configurable);
309291
}
310292

@@ -371,7 +353,6 @@ protected Configure createConfigure(IConfigurable configurable) {
371353
jsonObject.put(CLASS_NAME, configurable.getClass().getName());
372354
configure.setJsonValue(jsonObject.toJSONString());
373355
}
374-
// configure.createIdentification();
375356
return configure;
376357
}
377358

@@ -383,7 +364,7 @@ public <T> Map<String, T> queryConfigurableMapByType(String type) {
383364
}
384365
Map<String, T> result = new HashMap<String, T>();
385366
for (IConfigurable configurable : configurables) {
386-
result.put(configurable.getConfigureName(), (T)configurable);
367+
result.put(configurable.getConfigureName(), (T) configurable);
387368
}
388369
return result;
389370
}
@@ -423,7 +404,7 @@ protected IConfigurable createConfigurableFromJson(String namespace, String type
423404
configurable.setNameSpace(namespace);
424405
configurable.setType(type);
425406
if (AbstractConfigurable.class.isInstance(configurable)) {
426-
AbstractConfigurable abstractConfigurable = (AbstractConfigurable)configurable;
407+
AbstractConfigurable abstractConfigurable = (AbstractConfigurable) configurable;
427408
abstractConfigurable.setConfigurableService(this);
428409
}
429410
configurable.toObject(jsonValue);
@@ -450,7 +431,7 @@ protected IConfigurable convertConfigurable(Configure configure) {
450431
jsonString);
451432
if (configurable instanceof Entity) {
452433
// add by wangtl 20171110 Configurable接口第三方包也在用,故不能Configurable里加接口,只能加到抽象类里,这里强转下
453-
Entity abs = (Entity)configurable;
434+
Entity abs = (Entity) configurable;
454435
abs.setId(configure.getId());
455436
abs.setGmtCreate(configure.getGmtCreate());
456437
abs.setGmtModified(configure.getGmtModified());

0 commit comments

Comments
 (0)