private static final String testDataTopic = "testData";
/**
* 向队列放入数据,支持多线程。
*/
public static void putTestData(TestData msg) {
SMQ.push(testDataTopic, JSON.toJSONString(msg));
}
/**
* 从队列取出数据,支持多线程。
*/
public static TestData getTestData() {
String poll = SMQ.pop(testDataTopic);
if (StrUtil.isNotBlank(poll)) {
return JSON.parseObject(poll, TestData.class);
}
return null;
}
/**
* 获取队列大小
*/
public static long getTestDataSize(){
return SMQ.size(testDataTopic);
}
}
复制代码
四、注意事项
1、默认会在项目目录下生成一个smq的文件夹用来存放队列数据。同一个smq的文件夹同时只可被一个项目使用。
2、SMQ.setting(String dbPath, int logSize, int memoryQueueSize)
dbPath文件存储目录,默认是smq,会在项目目录下创建一个smq的目录。(还没测试过绝对路径)。