重构航班缓存发送代码

This commit is contained in:
zhouxiunai
2019-01-25 09:49:15 +08:00
parent 873f940170
commit e1eb9a4eaa
5 changed files with 12 additions and 47 deletions
@@ -11,24 +11,19 @@ import com.gzzn.omms.msgexchangeapi.entity.msg.SCHD;
import com.gzzn.omms.msgexchangeapi.entity.msg.SCHD.FLTR;
/**
* 要发到kafka 先在这里做缓存
* 要发到kafka 航班动态信先在这里做缓存
* @author zhouxiunai
*
*/
@Service("msgbufferservice")
public class MsgBufferService implements IMsgBufferService {
public class FltrSendBufferService implements IFltrSendBufferService {
private static ConcurrentLinkedQueue<SCHD.FLTR> fltrBuffer = new ConcurrentLinkedQueue<SCHD.FLTR>();
private static ConcurrentLinkedQueue<String> msgBuffer = new ConcurrentLinkedQueue<String>();
@Override
public void addFltr(SCHD.FLTR fltr) {
fltrBuffer.add(fltr);
}
@Override
public void addMsg(String msg) {
msgBuffer.add(msg);
}
@Override
public List<FLTR> takeAllFltr() {
@@ -43,19 +38,4 @@ public class MsgBufferService implements IMsgBufferService {
return Arrays.asList(fltrs);
}
@Override
public List<String> takeAllMsg() {
if(msgBuffer.size() <= 0)
{
return Collections.emptyList();
}
//
String[] msgs = (String[]) msgBuffer.toArray();
msgBuffer.clear();//to fix ,获取及清空过程中是否要加锁
return Arrays.asList(msgs);
}
}
@@ -5,34 +5,21 @@ import java.util.List;
import com.gzzn.omms.msgexchangeapi.entity.msg.SCHD;
/**
* 消息缓存服务,多线程安全
* 航班信息发送缓存服务,多线程安全
* @author zhouxiunai
*
*/
public interface IMsgBufferService {
public interface IFltrSendBufferService {
/**
* 添加动态航班信息到缓存
* @param fltr
*/
public void addFltr(SCHD.FLTR fltr);
/**
* 添加动态消息到缓存
* @param msg (json 格式)
*/
public void addMsg(String msg);
/**
* 获取缓存中所有的动态航班信息
* @return
*/
public List<SCHD.FLTR> takeAllFltr();
/**
* 获取缓存中的所有动态消息
* @return
*/
public List<String> takeAllMsg();
}