springboot项目中使用事件监听器
使用springboot内置监听器。使用场景:一个功能完成后需要同步数据给其他的功能使用 注意:需要同步数据的接口只能在同一个项目中。
第一步 : 抛出事件
编写一个监听器使用的事件类并且继承 ApplicationEvent 写上事件需要抛出的哪些参数
import org.springframework.context.ApplicationEvent;
import java.math.BigDecimal;
public class LgsReceiptEvent extends ApplicationEvent {
private String asnDid;
private Float receivedQty;
private String lgsLineNumber;
private String uomUid;
private String itemUid;
private String poDid;
private String warehouseUid;
private BigDecimal qty;
public BigDecimal getQty() {
return qty;
}
public void setQty(BigDecimal qty) {
this.qty = qty;
}
public String getWarehouseUid() {
return warehouseUid;
}
public String getPoDid() {
return poDid;
}
public String getItemUid() {
return itemUid;
}
public String getAsnDid() {
return asnDid;
}
public Float getReceivedQty() {
return receivedQty;
}
public String getLgsLineNumber() {
return lgsLineNumber;
}
public String getUomUid() {
return uomUid;
}
public LgsReceiptEvent(Object source, String asnDid, Float receivedQty, String lgsLineNumber, String uomUid,String itemUid,String poDid,String warehouseUid,BigDecimal qty) {
super(source);
this.asnDid = asnDid;
this.receivedQty = receivedQty;
this.lgsLineNumber = lgsLineNumber;
this.uomUid = uomUid;
this.itemUid = itemUid;
this.poDid = poDid;
this.warehouseUid = warehouseUid;
this.qty = qty;
}
}
向监听器发送该事件 类中注入ApplicationContext 下面方法中使用
第二步 : 监听事件
编写一个监听器并且继承ApplicationListener 加上事件类的泛型,监听的类一定要能被spring扫描到。