@Data
public class WmNewsDto {
private Integer id;
private Integer enable;
}
topic名称常量类:
package com.heima.common.constans.message;
public class WmNewsUpDownConstants {
public static final String WM_NEWS_UP_OR_DOWN_TOPIC="wm.news.up.or.down.topic";
}
<!-- kafkfa -->在heima-leadnews-article的pom.xml添加依赖
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
</dependency>
spring:
kafka:
bootstrap-servers: 192.168.137.136:9092
consumer:
group-id: ${spring.application.name}-kafka-group
key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
listener:
missing-topics-fatal: false
package com.heima.article.listener;
import com.heima.article.service.ApArticleService;
import com.heima.common.util.JsonUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.kafka.annotation.KafkaListener;
import org.springframework.stereotype.Component;
import java.util.Map;
import java.util.Optional;
import static com.heima.common.constants.message.WmNewsUpDownConstants.WM_NEWS_UP_OR_DOWN_TOPIC;
@Slf4j
@Component
public class WmNewsUpDownListener {
@Autowired
private ApArticleService apArticleService;
@KafkaListener(topics = WM_NEWS_UP_OR_DOWN_TOPIC)
public void receiveMsg(ConsumerRecord<String,String> record){
Optional<ConsumerRecord<String, String>> optional = Optional.ofNullable(record);
if(optional.isPresent()){
String value = record.value();
log.info("接收到自媒体上下架消息,value={}",value);
Map<String, Long> map = JsonUtils.toMap(value, String.class, Long.class);
apArticleService.downOrUp(map);
}
}
}
在ApArticleService中添加方法
void upOrDown(Map<String, Long> map);
1上架0下架 怎么变成文档的1下架 2 没下架
