mirror of
https://github.com/apache/rocketmq-dashboard.git
synced 2026-02-21 21:05:44 +08:00
Merge 616406578c into 2fb0fce0b1
This commit is contained in:
@@ -23,6 +23,7 @@ public class TopicConfigInfo {
|
||||
|
||||
private List<String> clusterNameList;
|
||||
private List<String> brokerNameList;
|
||||
private String messageType;
|
||||
|
||||
/** topicConfig */
|
||||
private String topicName;
|
||||
@@ -91,6 +92,14 @@ public class TopicConfigInfo {
|
||||
this.order = order;
|
||||
}
|
||||
|
||||
public String getMessageType() {
|
||||
return messageType;
|
||||
}
|
||||
|
||||
public void setMessageType(String messageType) {
|
||||
this.messageType = messageType;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o)
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
package org.apache.rocketmq.dashboard.service.impl;
|
||||
|
||||
import com.google.common.base.Throwables;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Sets;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -30,6 +31,7 @@ import org.apache.rocketmq.client.trace.TraceContext;
|
||||
import org.apache.rocketmq.client.trace.TraceDispatcher;
|
||||
import org.apache.rocketmq.common.MixAll;
|
||||
import org.apache.rocketmq.common.TopicConfig;
|
||||
import org.apache.rocketmq.common.attribute.TopicMessageType;
|
||||
import org.apache.rocketmq.remoting.protocol.admin.TopicStatsTable;
|
||||
import org.apache.rocketmq.common.message.Message;
|
||||
import org.apache.rocketmq.remoting.protocol.body.ClusterInfo;
|
||||
@@ -56,6 +58,8 @@ import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ArrayBlockingQueue;
|
||||
|
||||
import static org.apache.rocketmq.common.TopicAttributes.TOPIC_MESSAGE_TYPE_ATTRIBUTE;
|
||||
|
||||
@Service
|
||||
public class TopicServiceImpl extends AbstractCommonService implements TopicService {
|
||||
|
||||
@@ -123,6 +127,13 @@ public class TopicServiceImpl extends AbstractCommonService implements TopicServ
|
||||
public void createOrUpdate(TopicConfigInfo topicCreateOrUpdateRequest) {
|
||||
TopicConfig topicConfig = new TopicConfig();
|
||||
BeanUtils.copyProperties(topicCreateOrUpdateRequest, topicConfig);
|
||||
|
||||
String messageType = topicCreateOrUpdateRequest.getMessageType();
|
||||
if (StringUtils.isBlank(messageType)) {
|
||||
messageType = TopicMessageType.UNSPECIFIED.name();
|
||||
}
|
||||
topicConfig.setAttributes(ImmutableMap.of("+".concat(TOPIC_MESSAGE_TYPE_ATTRIBUTE.getName()), messageType));
|
||||
|
||||
try {
|
||||
ClusterInfo clusterInfo = mqAdminExt.examineBrokerClusterInfo();
|
||||
for (String brokerName : changeToBrokerNameSet(clusterInfo.getClusterAddrTable(),
|
||||
@@ -156,6 +167,13 @@ public class TopicServiceImpl extends AbstractCommonService implements TopicServ
|
||||
TopicConfig topicConfig = examineTopicConfig(topic, brokerData.getBrokerName());
|
||||
BeanUtils.copyProperties(topicConfig, topicConfigInfo);
|
||||
topicConfigInfo.setBrokerNameList(Lists.newArrayList(brokerData.getBrokerName()));
|
||||
|
||||
String messageType = topicConfig.getAttributes().get(TOPIC_MESSAGE_TYPE_ATTRIBUTE.getName());
|
||||
if (StringUtils.isBlank(messageType)) {
|
||||
messageType = TopicMessageType.UNSPECIFIED.name();
|
||||
}
|
||||
topicConfigInfo.setMessageType(messageType);
|
||||
|
||||
topicConfigInfoList.add(topicConfigInfo);
|
||||
}
|
||||
return topicConfigInfoList;
|
||||
|
||||
@@ -84,6 +84,12 @@ var en = {
|
||||
"READ_QUEUE_NUMS":"readQueueNums",
|
||||
"WRITE_QUEUE_NUMS":"writeQueueNums",
|
||||
"PERM":"perm",
|
||||
"MESSAGE_TYPE":"messageType",
|
||||
"MESSAGE_TYPE_UNSPECIFIED": "UNSPECIFIED",
|
||||
"MESSAGE_TYPE_NORMAL": "NORMAL",
|
||||
"MESSAGE_TYPE_FIFO": "FIFO",
|
||||
"MESSAGE_TYPE_DELAY": "DELAY",
|
||||
"MESSAGE_TYPE_TRANSACTION": "TRANSACTION",
|
||||
"TAG":"Tag",
|
||||
"KEY":"Key",
|
||||
"MESSAGE_BODY":"Message Body",
|
||||
|
||||
@@ -85,6 +85,12 @@ var zh = {
|
||||
"READ_QUEUE_NUMS":"读队列数量",
|
||||
"WRITE_QUEUE_NUMS":"写队列数量",
|
||||
"PERM":"perm",
|
||||
"MESSAGE_TYPE":"消息类型",
|
||||
"MESSAGE_TYPE_UNSPECIFIED": "未指定",
|
||||
"MESSAGE_TYPE_NORMAL": "普通消息",
|
||||
"MESSAGE_TYPE_FIFO": "顺序消息",
|
||||
"MESSAGE_TYPE_DELAY": "定时/延时消息",
|
||||
"MESSAGE_TYPE_TRANSACTION": "事务消息",
|
||||
"TAG":"标签",
|
||||
"KEY":"值",
|
||||
"MESSAGE_BODY":"消息主体",
|
||||
|
||||
@@ -213,6 +213,33 @@
|
||||
<span class="text-danger" ng-show="addAppForm.perm.$error.required">{{'PERM'|translate}}不能为空.</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2" style="margin: 0 !important;">{{'MESSAGE_TYPE'|translate}}:</label>
|
||||
<div class="col-sm-10">
|
||||
<form name="messageType">
|
||||
<label>
|
||||
<input type="radio" ng-model="item.messageType" value="UNSPECIFIED" ng-disabled="{{!ngDialogData.writeOperationEnabled}}"/>
|
||||
{{'MESSAGE_TYPE_UNSPECIFIED'|translate}}
|
||||
</label>
|
||||
<label>
|
||||
<input type="radio" ng-model="item.messageType" value="NORMAL" ng-disabled="{{!ngDialogData.writeOperationEnabled}}"/>
|
||||
{{'MESSAGE_TYPE_NORMAL'|translate}}
|
||||
</label>
|
||||
<label>
|
||||
<input type="radio" ng-model="item.messageType" value="FIFO" ng-disabled="{{!ngDialogData.writeOperationEnabled}}"/>
|
||||
{{'MESSAGE_TYPE_FIFO'|translate}}
|
||||
</label>
|
||||
<label>
|
||||
<input type="radio" ng-model="item.messageType" value="DELAY" ng-disabled="{{!ngDialogData.writeOperationEnabled}}"/>
|
||||
{{'MESSAGE_TYPE_DELAY'|translate}}
|
||||
</label>
|
||||
<label>
|
||||
<input type="radio" ng-model="item.messageType" value="TRANSACTION" ng-disabled="{{!ngDialogData.writeOperationEnabled}}"/>
|
||||
{{'MESSAGE_TYPE_TRANSACTION'|translate}}
|
||||
</label>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<div class="modal-footer">
|
||||
<div class="ngdialog-buttons">
|
||||
|
||||
Reference in New Issue
Block a user