Browse Source

修改删除报警定义的bug

lixing 3 years ago
parent
commit
647010638b

+ 14 - 0
dmp-alarm/src/main/java/com/persagy/dmp/alarm/config/WebConfig.java

@@ -2,6 +2,10 @@ package com.persagy.dmp.alarm.config;
 
 import com.persagy.common.json.JacksonMapper;
 import com.persagy.dmp.config.DmpParameterStorage;
+import org.springframework.amqp.core.AcknowledgeMode;
+import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;
+import org.springframework.amqp.rabbit.connection.ConnectionFactory;
+import org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory;
 import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
 import org.springframework.amqp.support.converter.MessageConverter;
 import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
@@ -43,4 +47,14 @@ public class WebConfig implements WebMvcConfigurer {
 		return new Jackson2JsonMessageConverter();
 	}
 
+	@Bean
+	public RabbitListenerContainerFactory<?> rabbitListenerContainerFactory(ConnectionFactory connectionFactory){
+		SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();
+		factory.setConnectionFactory(connectionFactory);
+		factory.setMessageConverter(new Jackson2JsonMessageConverter());
+		factory.setAcknowledgeMode(AcknowledgeMode.MANUAL);
+		return factory;
+	}
+
+
 }

+ 1 - 1
dmp-alarm/src/main/java/com/persagy/dmp/alarm/jms/RabbitmqConfig.java

@@ -35,7 +35,7 @@ public class RabbitmqConfig {
     /**
      * 报警对象队列
      */
-    private final String alarmConfigQueue = "alarm-config-queue";
+    private final String alarmConfigQueue = "alarm-config-queue1";
 
     @Bean
     public TopicExchange exchange() {

+ 18 - 3
dmp-alarm/src/main/java/com/persagy/dmp/alarm/service/AlarmConfigService.java

@@ -23,6 +23,7 @@ import com.persagy.dmp.config.DmpParameterStorage;
 import com.persagy.dmp.rwd.model.DmpMessage;
 import com.querydsl.core.types.dsl.BooleanExpression;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
@@ -301,7 +302,7 @@ public class AlarmConfigService extends AlarmBaseService {
      */
     private DmpMessage deleteAll(List<AlarmConfig> deletedAlarmConfigs) {
         if (!CollectionUtils.isEmpty(deletedAlarmConfigs)) {
-            DmpMessage message = generateMessage(deletedAlarmConfigs, null);
+            DmpMessage message = generateMessage(null, deletedAlarmConfigs);
             alarmConfigRepository.deleteAll(deletedAlarmConfigs);
             return message;
         }
@@ -738,11 +739,25 @@ public class AlarmConfigService extends AlarmBaseService {
             }
             configs.add(entity);
         }
-        configs = alarmConfigRepository.saveAll(configs);
+        // 测试
+        for (int i = 0; i < 1000; i++) {
+            AlarmConfig entity = new AlarmConfig();
+            BeanUtils.copyProperties(configs.get(0), entity);
+            entity.setId(UUID.randomUUID().toString());
+            configs.add(entity);
+        }
+        System.out.println("开始存储报警定义");
+        try {
+            configs = alarmConfigRepository.saveAll(configs);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        Date date1 = new Date();
+        System.out.println("报警定义存储完成,耗时:"+(date1.getTime() - date.getTime()));
         DmpMessage msg = generateMessage(configs, null);
         messageProcesser.convertAndSend(msg);
         List<String> ids = configs.stream().map(AlarmConfig::getId).collect(Collectors.toList());
-        Date date1 = new Date();
+        date1 = new Date();
         System.out.println("执行时间:" + (date1.getTime() - date.getTime()));
         response.add("ids", ids);
         return response;