实现自定义抽象类,然后通过实现抽象类的方式定义要实现的业务逻辑。该方式有助于定义个抽象类,可以在多个不同的模块自定义实现类实现抽象类方法。以下代码实现是当队列mq有新消息时只调用同一个util工具类,工具类调用抽象类传递数据,如果有一个类需要自定义业务逻辑处理则只需实现抽象类,并传入同样的类型即可。(Springboot中实现策略模式+工厂模式)
1、定义抽象类
package com.sxgw.pcops.flow.server.util;
import com.sxgw.pcops.common.entity.MqEntity;
import com.sxgw.pcops.im.base.context.BaseContext;
import org.springframework.beans.factory.annotation.Autowired;
public abstract class BaseHandler {
@Autowired
protected BaseContext context;
public void handler(MqEntity mqEntity) {
try {
this.handlerMsg(mqEntity);
} catch (Exception e) {
e.printStackTrace();
}
}
protected abstract void handlerMsg(MqEntity mqEntity);
}
2、自定义业务逻辑实现类,继承抽象类。其他模块只需要定义自己的业务逻辑实现类即可实现
package com.sxgw.pcops.flow.server.util;
import com.sxgw.pcops.common.</