1、创建辅助离线消息存储表
-- Create table
create table OFOFFLINE2
(
username VARCHAR2(64) not null,
messageid INTEGER not null,
creationdate CHAR(15) not null,
messagesize INTEGER not null,
stanza LONG not null,
messageid2 VARCHAR2(500)
)
-- Create/Recreate primary, unique and foreign key constraints
alter table OFOFFLINE2 add constraint OFOFFLINE2_PK primary key (USERNAME, MESSAGEID);
跟openfire离线表结构一致,额外添加messageid2字段,用于当消息正常接收后删除记录的过滤条件。
2、将正常接收的消息存储到该表,代码如下:
在MessageRouter类的public void route(Message packet)方法中添加
private void addMessage(Message message){
if (message == null) {
return;
}
JID recipient = message