mirror of
https://github.com/apache/rocketmq-dashboard.git
synced 2025-09-10 11:40:01 +08:00
Co-authored-by: zhangjidi2016 <zhangjidi@cmss.chinamobile.com>
This commit is contained in:
@@ -31,6 +31,7 @@ import org.apache.rocketmq.acl.common.SessionCredentials;
|
|||||||
import org.apache.rocketmq.client.consumer.DefaultMQPullConsumer;
|
import org.apache.rocketmq.client.consumer.DefaultMQPullConsumer;
|
||||||
import org.apache.rocketmq.client.consumer.PullResult;
|
import org.apache.rocketmq.client.consumer.PullResult;
|
||||||
import org.apache.rocketmq.client.consumer.PullStatus;
|
import org.apache.rocketmq.client.consumer.PullStatus;
|
||||||
|
import org.apache.rocketmq.client.exception.MQClientException;
|
||||||
import org.apache.rocketmq.common.MixAll;
|
import org.apache.rocketmq.common.MixAll;
|
||||||
import org.apache.rocketmq.common.Pair;
|
import org.apache.rocketmq.common.Pair;
|
||||||
import org.apache.rocketmq.common.message.MessageClientIDSetter;
|
import org.apache.rocketmq.common.message.MessageClientIDSetter;
|
||||||
@@ -111,6 +112,9 @@ public class MessageServiceImpl implements MessageService {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
} catch (Exception err) {
|
} catch (Exception err) {
|
||||||
|
if (err instanceof MQClientException) {
|
||||||
|
throw new ServiceException(-1, ((MQClientException) err).getErrorMessage());
|
||||||
|
}
|
||||||
throw Throwables.propagate(err);
|
throw Throwables.propagate(err);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -20,8 +20,6 @@ package org.apache.rocketmq.dashboard.service.impl;
|
|||||||
import com.google.common.base.Function;
|
import com.google.common.base.Function;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
|
|
||||||
import com.google.common.base.Throwables;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -35,6 +33,7 @@ import org.apache.rocketmq.common.Pair;
|
|||||||
import org.apache.rocketmq.common.message.MessageExt;
|
import org.apache.rocketmq.common.message.MessageExt;
|
||||||
import org.apache.rocketmq.common.topic.TopicValidator;
|
import org.apache.rocketmq.common.topic.TopicValidator;
|
||||||
import org.apache.rocketmq.dashboard.config.RMQConfigure;
|
import org.apache.rocketmq.dashboard.config.RMQConfigure;
|
||||||
|
import org.apache.rocketmq.dashboard.exception.ServiceException;
|
||||||
import org.apache.rocketmq.dashboard.model.MessageTraceView;
|
import org.apache.rocketmq.dashboard.model.MessageTraceView;
|
||||||
import org.apache.rocketmq.dashboard.model.trace.ProducerNode;
|
import org.apache.rocketmq.dashboard.model.trace.ProducerNode;
|
||||||
import org.apache.rocketmq.dashboard.model.trace.MessageTraceGraph;
|
import org.apache.rocketmq.dashboard.model.trace.MessageTraceGraph;
|
||||||
@@ -82,7 +81,7 @@ public class MessageTraceServiceImpl implements MessageTraceService {
|
|||||||
}
|
}
|
||||||
return messageTraceViews;
|
return messageTraceViews;
|
||||||
} catch (Exception err) {
|
} catch (Exception err) {
|
||||||
throw Throwables.propagate(err);
|
throw new ServiceException(-1, String.format("Failed to query message trace by msgId %s", key));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -58,6 +58,7 @@ module.controller('messageController', ['$scope', 'ngDialog', '$http', 'Notifica
|
|||||||
};
|
};
|
||||||
|
|
||||||
$scope.queryMessagePageByTopic = function () {
|
$scope.queryMessagePageByTopic = function () {
|
||||||
|
$("#noMsgTip").css("display", "none");
|
||||||
if ($scope.timepickerEnd < $scope.timepickerBegin) {
|
if ($scope.timepickerEnd < $scope.timepickerBegin) {
|
||||||
Notification.error({message: "endTime is later than beginTime!", delay: 2000});
|
Notification.error({message: "endTime is later than beginTime!", delay: 2000});
|
||||||
return
|
return
|
||||||
@@ -80,6 +81,9 @@ module.controller('messageController', ['$scope', 'ngDialog', '$http', 'Notifica
|
|||||||
if (resp.status === 0) {
|
if (resp.status === 0) {
|
||||||
console.log(resp);
|
console.log(resp);
|
||||||
$scope.messageShowList = resp.data.page.content;
|
$scope.messageShowList = resp.data.page.content;
|
||||||
|
if ($scope.messageShowList.length == 0){
|
||||||
|
$("#noMsgTip").removeAttr("style");
|
||||||
|
}
|
||||||
if (resp.data.page.first) {
|
if (resp.data.page.first) {
|
||||||
$scope.paginationConf.currentPage = 1;
|
$scope.paginationConf.currentPage = 1;
|
||||||
}
|
}
|
||||||
|
@@ -73,6 +73,9 @@
|
|||||||
<th class="text-center">StoreTime</th>
|
<th class="text-center">StoreTime</th>
|
||||||
<th class="text-center">Operation</th>
|
<th class="text-center">Operation</th>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr style="display: none" id="noMsgTip">
|
||||||
|
<td colspan="5" style="text-align: center">{{'NO_MATCH_RESULT' | translate}}</td>
|
||||||
|
</tr>
|
||||||
<tr ng-repeat="item in messageShowList">
|
<tr ng-repeat="item in messageShowList">
|
||||||
<td class="text-center">{{item.msgId}}</td>
|
<td class="text-center">{{item.msgId}}</td>
|
||||||
<td class="text-center">{{item.properties.TAGS}}</td>
|
<td class="text-center">{{item.properties.TAGS}}</td>
|
||||||
|
@@ -62,6 +62,7 @@ public class MessageTraceControllerTest extends BaseControllerTest {
|
|||||||
messageList.add(messageExt);
|
messageList.add(messageExt);
|
||||||
QueryResult queryResult = new QueryResult(System.currentTimeMillis(), messageList);
|
QueryResult queryResult = new QueryResult(System.currentTimeMillis(), messageList);
|
||||||
when(mqAdminExt.queryMessage(anyString(), anyString(), anyInt(), anyLong(), anyLong()))
|
when(mqAdminExt.queryMessage(anyString(), anyString(), anyInt(), anyLong(), anyLong()))
|
||||||
|
.thenThrow(new RuntimeException())
|
||||||
.thenReturn(queryResult);
|
.thenReturn(queryResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -100,6 +101,11 @@ public class MessageTraceControllerTest extends BaseControllerTest {
|
|||||||
final String url = "/messageTrace/viewMessageTraceDetail.query";
|
final String url = "/messageTrace/viewMessageTraceDetail.query";
|
||||||
requestBuilder = MockMvcRequestBuilders.get(url);
|
requestBuilder = MockMvcRequestBuilders.get(url);
|
||||||
requestBuilder.param("msgId", "0A9A003F00002A9F0000000000000319");
|
requestBuilder.param("msgId", "0A9A003F00002A9F0000000000000319");
|
||||||
|
// query message trace exception
|
||||||
|
perform = mockMvc.perform(requestBuilder);
|
||||||
|
performErrorExpect(perform);
|
||||||
|
|
||||||
|
// query message trace success
|
||||||
perform = mockMvc.perform(requestBuilder);
|
perform = mockMvc.perform(requestBuilder);
|
||||||
perform.andExpect(status().isOk())
|
perform.andExpect(status().isOk())
|
||||||
.andExpect(jsonPath("$.data", hasSize(4)))
|
.andExpect(jsonPath("$.data", hasSize(4)))
|
||||||
@@ -114,6 +120,11 @@ public class MessageTraceControllerTest extends BaseControllerTest {
|
|||||||
final String url = "/messageTrace/viewMessageTraceGraph.query";
|
final String url = "/messageTrace/viewMessageTraceGraph.query";
|
||||||
requestBuilder = MockMvcRequestBuilders.get(url);
|
requestBuilder = MockMvcRequestBuilders.get(url);
|
||||||
requestBuilder.param("msgId", "0A9A003F00002A9F0000000000000319");
|
requestBuilder.param("msgId", "0A9A003F00002A9F0000000000000319");
|
||||||
|
// query message trace exception
|
||||||
|
perform = mockMvc.perform(requestBuilder);
|
||||||
|
performErrorExpect(perform);
|
||||||
|
|
||||||
|
// query message trace success
|
||||||
perform = mockMvc.perform(requestBuilder);
|
perform = mockMvc.perform(requestBuilder);
|
||||||
perform.andExpect(status().isOk())
|
perform.andExpect(status().isOk())
|
||||||
.andExpect(jsonPath("$.data").isMap())
|
.andExpect(jsonPath("$.data").isMap())
|
||||||
|
Reference in New Issue
Block a user