|
|
@@ -57,12 +57,12 @@ public class JmsListener {
|
|
|
* @return 开启成功与否的提示信息
|
|
|
*/
|
|
|
public void start(Long interval) {
|
|
|
- if(interval == null){
|
|
|
+ if (interval == null){
|
|
|
interval = INTERVAL;
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
interval *= 1000;
|
|
|
}
|
|
|
- if(interval <= 0){
|
|
|
+ if (interval <= 0) {
|
|
|
throw new IllegalArgumentException("interval 不合法:" + interval);
|
|
|
}
|
|
|
|
|
|
@@ -75,20 +75,23 @@ public class JmsListener {
|
|
|
Executable command = new Executable() {
|
|
|
@Override
|
|
|
public String execute() {
|
|
|
+ long startTime = System.currentTimeMillis();
|
|
|
SPage<LuceneMessage> sPage = luceneMessageService.findAll(1, 100);
|
|
|
List<LuceneMessage> luceneMessages = sPage.getContent();
|
|
|
if (CollectionUtils.isEmpty(luceneMessages)) {
|
|
|
return "无消息";
|
|
|
}
|
|
|
- for(LuceneMessage luceneMessage : luceneMessages){
|
|
|
+ logger.info("获取luceneMessages" + luceneMessages.size() + "条,耗时:" + (System.currentTimeMillis() - startTime));
|
|
|
+ for (LuceneMessage luceneMessage : luceneMessages){
|
|
|
try {
|
|
|
process(luceneMessage);
|
|
|
} catch (Throwable e) {
|
|
|
logger.error("", e);
|
|
|
}
|
|
|
}
|
|
|
+ logger.info("处理luceneMessages" + luceneMessages.size() + "条,耗时:" + (System.currentTimeMillis() - startTime));
|
|
|
// 如果消息不止一页,立即消费下一页
|
|
|
- if(sPage.getTotalPage() > 1){
|
|
|
+ if (sPage.getTotalPage() > 1){
|
|
|
execute();
|
|
|
}
|
|
|
return "正常";
|
|
|
@@ -139,13 +142,16 @@ public class JmsListener {
|
|
|
* @param luceneMessage 消息
|
|
|
*/
|
|
|
private void process(LuceneMessage luceneMessage) {
|
|
|
+ long startTime = System.currentTimeMillis();
|
|
|
logger.info(luceneMessage.toString());
|
|
|
Long id = luceneMessage.getId();
|
|
|
luceneMessage.setRetryCount(luceneMessage.getRetryCount() + 1);
|
|
|
luceneMessageDao.save(luceneMessage);
|
|
|
ParsedQueueMessage parsedQueueMessage = queueMessageParser.parse(luceneMessage.getTableName(), luceneMessage.getDataId(), luceneMessage.getMethodType(), luceneMessage.getData());
|
|
|
+ logger.info("获取源数据耗时:" + (System.currentTimeMillis() - startTime));
|
|
|
List<Object> maintainedObjects = indexService.maintainIndexes(parsedQueueMessage);
|
|
|
logger.info("Maintained... " + maintainedObjects);
|
|
|
luceneMessageDao.dequeueLuceneMessage(id);
|
|
|
+ logger.info("单条索引处理耗时:" + (System.currentTimeMillis() - startTime));
|
|
|
}
|
|
|
}
|