duhenglucky commented on a change in pull request #348: merge rmq client and
bugfix rmq sourceTask setNamesrv error
URL: https://github.com/apache/rocketmq-externals/pull/348#discussion_r310671045
##########
File path:
rocketmq-connect/rocketmq-connect-runtime/src/main/java/org/apache/rocketmq/connect/runtime/connectorwrapper/Worker.java
##########
@@ -256,41 +295,17 @@ public synchronized void startTasks(Map<String,
List<ConnectKeyValue>> taskConfi
Converter recordConverter = (Converter)
converterClazz.newInstance();
if (task instanceof SourceTask) {
- DefaultMQProducer producer = new DefaultMQProducer();
-
producer.setNamesrvAddr(keyValue.getString(RuntimeConfigDefine.NAMESRV_ADDR));
- String rmqProducerGroup =
keyValue.getString(RuntimeConfigDefine.RMQ_PRODUCER_GROUP);
- if (StringUtils.isEmpty(rmqProducerGroup)) {
- rmqProducerGroup = connectConfig.getRmqProducerGroup();
- }
- producer.setProducerGroup(rmqProducerGroup);
- int operationTimeout =
keyValue.getInt(RuntimeConfigDefine.OPERATION_TIMEOUT);
- if (operationTimeout <= 0) {
-
producer.setSendMsgTimeout(connectConfig.getOperationTimeout());
- }
-
producer.setMaxMessageSize(RuntimeConfigDefine.MAX_MESSAGE_SIZE);
- producer.setLanguage(LanguageCode.JAVA);
- producer.start();
-
WorkerSourceTask workerSourceTask = new
WorkerSourceTask(connectorName,
- (SourceTask) task, keyValue,
- new
PositionStorageReaderImpl(positionManagementService), recordConverter,
producer);
+ (SourceTask) task, keyValue,
+ new
PositionStorageReaderImpl(positionManagementService),
+ recordConverter, producer);
this.taskExecutor.submit(workerSourceTask);
this.workingTasks.add(workerSourceTask);
} else if (task instanceof SinkTask) {
- DefaultMQPullConsumer consumer = new
DefaultMQPullConsumer();
- consumer.setNamesrvAddr(connectConfig.getNamesrvAddr());
- String consumerGroup = connectConfig.getRmqConsumerGroup();
- if (null != consumerGroup && !consumerGroup.isEmpty()) {
- consumer.setConsumerGroup(consumerGroup);
-
consumer.setMaxReconsumeTimes(connectConfig.getRmqMaxRedeliveryTimes());
- consumer.setConsumerPullTimeoutMillis((long)
connectConfig.getRmqMessageConsumeTimeout());
- consumer.setLanguage(LanguageCode.JAVA);
- consumer.start();
- } else {
- throw new ConnectException(-1, "Consumer Group is
necessary for RocketMQ, please set it.");
- }
-
- WorkerSinkTask workerSinkTask = new
WorkerSinkTask(connectorName, (SinkTask) task, keyValue, new
PositionStorageReaderImpl(offsetManagementService), recordConverter, consumer);
+ WorkerSinkTask workerSinkTask = new
WorkerSinkTask(connectorName,
Review comment:
If we share a consumer for all of the tasks, we should make sure that this
single consumer can consume all of the topic's messages.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services