1、实体类配置
@Setter
@Getter
@ToString
@Entity
@Table ( name ="XXX_xxx" )
@EntityListeners(xxxXXXxxxListenerEntity.class)
public class xxxXXXxxxEntity implements Serializable {
}
2、监听类
@Slf4j
public class xxxZzyMepeprobleminfoListenerEntity {
//xxxCommonUtils xxxCommonUtils = xxxCommonUtils.getInstance();;
private final String TOPIC_NAME1 = "xxxWebsocket"; // 订阅主题
private final RedisTemplate xxxRedisTemplate = (RedisTemplate) SpringBeanUtils.getBean("xxxRedisTemplate");
@PrePersist
public void PrePersist(Object entity) {
//log.info("进行insert之前");
}
@PostPersist
public void PostPersist(Object entity) {
//log.info("进行insert之后");
if(entity instanceof xxxXXXxxxEntity) {
//xxxCommonUtils.getxxxRedisUtils().xxxRedisConvertAndSend(entity);
xxxRedisConvertAndSend(entity);
}
}
@PreUpdate
public void PreUpdate(Object entity) {
log.info("进行update之前");
}
@PostUpdate
public void PostUpdate(Object entity) {
//log.info("进行update之后");
if(entity instanceof xxxXXXxxxEntity) {
//xxxCommonUtils.getxxxRedisUtils().xxxRedisConvertAndSend(entity);
xxxRedisConvertAndSend(entity);
}
}
@PreRemove
public void PreRemove(Object entity) {
log.info("进行Remove之前");
}
@PostRemove
public void PostRemove(Object entity) {
//log.info("进行Remove之后");
if(entity instanceof xxxXXXxxxEntity) {
//xxxCommonUtils.getxxxRedisUtils().xxxRedisConvertAndSend(entity);
xxxRedisConvertAndSend(entity);
}
}
public void xxxRedisConvertAndSend(Object data) {
try {
// 发布消息
xxxRedisMessageDto dto = new xxxRedisMessageDto();
dto.setXxx((xxxXXXxxxEntity) data);
dto.setTitle("异常信息");
dto.setContent("异常信息");
xxxRedisTemplate.convertAndSend(TOPIC_NAME1, dto);
} catch (Throwable e) {
log.error("消息发布", e);
}
}
}