From fa1407818830b0a3cc9e328a3cc8b472a1b7009f Mon Sep 17 00:00:00 2001 From: xiajun Date: Fri, 26 Dec 2014 12:44:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=A6=BB=E7=BA=BF=E6=B6=88=E6=81=AF=E7=9A=84?= =?UTF-8?q?=E7=A4=BA=E4=BE=8B=EF=BC=8C=E5=AE=8C=E5=96=84=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CIM客户端文档.doc | Bin 196608 -> 212480 bytes .../WebRoot/WEB-INF/classes/spring-cim.xml | 4 +- .../handler/PushOfflineMessageHandler.java | 49 ++++++++++++++++++ .../src/main/resource/spring-cim.xml | 4 +- cim_for_netty/cim-core/.classpath | 2 +- .../handler/PushOfflineMessageHandler.java | 49 ++++++++++++++++++ .../src/main/resource/spring-cim.xml | 4 +- 7 files changed, 108 insertions(+), 4 deletions(-) create mode 100644 cim_for_mina/ichat-server/src/main/java/com/farsunset/ichat/cim/handler/PushOfflineMessageHandler.java create mode 100644 cim_for_netty/ichat-server/src/main/java/com/farsunset/ichat/cim/handler/PushOfflineMessageHandler.java diff --git a/CIM客户端文档.doc b/CIM客户端文档.doc index 6fa092b329158a2d871d758c40092487c4352986..fefc86aae33f1dc857070c7f83da62455d3048e8 100644 GIT binary patch delta 24221 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 diff --git a/cim_for_mina/ichat-server/WebRoot/WEB-INF/classes/spring-cim.xml b/cim_for_mina/ichat-server/WebRoot/WEB-INF/classes/spring-cim.xml index 2375cfb..b1af340 100644 --- a/cim_for_mina/ichat-server/WebRoot/WEB-INF/classes/spring-cim.xml +++ b/cim_for_mina/ichat-server/WebRoot/WEB-INF/classes/spring-cim.xml @@ -42,7 +42,9 @@ - + + + diff --git a/cim_for_mina/ichat-server/src/main/java/com/farsunset/ichat/cim/handler/PushOfflineMessageHandler.java b/cim_for_mina/ichat-server/src/main/java/com/farsunset/ichat/cim/handler/PushOfflineMessageHandler.java new file mode 100644 index 0000000..2f1fb7c --- /dev/null +++ b/cim_for_mina/ichat-server/src/main/java/com/farsunset/ichat/cim/handler/PushOfflineMessageHandler.java @@ -0,0 +1,49 @@ +/** + * probject:cim + * @version 1.1.0 + * + * @author 3979434@qq.com + */ +package com.farsunset.ichat.cim.handler; + +import java.util.ArrayList; +import java.util.List; + +import org.apache.log4j.Logger; + +import com.farsunset.cim.nio.constant.CIMConstant; +import com.farsunset.cim.nio.handler.CIMRequestHandler; +import com.farsunset.cim.nio.mutual.Message; +import com.farsunset.cim.nio.mutual.ReplyBody; +import com.farsunset.cim.nio.mutual.SentBody; +import com.farsunset.cim.nio.session.CIMSession; +/** + * 推送离线消息 + */ +public class PushOfflineMessageHandler implements CIMRequestHandler { + + protected final Logger logger = Logger + .getLogger(PushOfflineMessageHandler.class); + + public ReplyBody process(CIMSession ios, SentBody message) { + + ReplyBody reply = new ReplyBody(); + reply.setCode(CIMConstant.ReturnCode.CODE_200); + try { + String account = message.get("account"); + //获取到存储的离线消息 + //List list = messageService.queryOffLineMessages(account); + List list = new ArrayList(); + for (Message m : list) { + + ios.write(m); + } + + } catch (Exception e) { + reply.setCode(CIMConstant.ReturnCode.CODE_500); + e.printStackTrace(); + logger.error("拉取离线消息失败", e); + } + return reply; + } +} \ No newline at end of file diff --git a/cim_for_mina/ichat-server/src/main/resource/spring-cim.xml b/cim_for_mina/ichat-server/src/main/resource/spring-cim.xml index 2375cfb..b1af340 100644 --- a/cim_for_mina/ichat-server/src/main/resource/spring-cim.xml +++ b/cim_for_mina/ichat-server/src/main/resource/spring-cim.xml @@ -42,7 +42,9 @@ - + + + diff --git a/cim_for_netty/cim-core/.classpath b/cim_for_netty/cim-core/.classpath index 8066ec8..75706f0 100644 --- a/cim_for_netty/cim-core/.classpath +++ b/cim_for_netty/cim-core/.classpath @@ -2,9 +2,9 @@ - + diff --git a/cim_for_netty/ichat-server/src/main/java/com/farsunset/ichat/cim/handler/PushOfflineMessageHandler.java b/cim_for_netty/ichat-server/src/main/java/com/farsunset/ichat/cim/handler/PushOfflineMessageHandler.java new file mode 100644 index 0000000..2f1fb7c --- /dev/null +++ b/cim_for_netty/ichat-server/src/main/java/com/farsunset/ichat/cim/handler/PushOfflineMessageHandler.java @@ -0,0 +1,49 @@ +/** + * probject:cim + * @version 1.1.0 + * + * @author 3979434@qq.com + */ +package com.farsunset.ichat.cim.handler; + +import java.util.ArrayList; +import java.util.List; + +import org.apache.log4j.Logger; + +import com.farsunset.cim.nio.constant.CIMConstant; +import com.farsunset.cim.nio.handler.CIMRequestHandler; +import com.farsunset.cim.nio.mutual.Message; +import com.farsunset.cim.nio.mutual.ReplyBody; +import com.farsunset.cim.nio.mutual.SentBody; +import com.farsunset.cim.nio.session.CIMSession; +/** + * 推送离线消息 + */ +public class PushOfflineMessageHandler implements CIMRequestHandler { + + protected final Logger logger = Logger + .getLogger(PushOfflineMessageHandler.class); + + public ReplyBody process(CIMSession ios, SentBody message) { + + ReplyBody reply = new ReplyBody(); + reply.setCode(CIMConstant.ReturnCode.CODE_200); + try { + String account = message.get("account"); + //获取到存储的离线消息 + //List list = messageService.queryOffLineMessages(account); + List list = new ArrayList(); + for (Message m : list) { + + ios.write(m); + } + + } catch (Exception e) { + reply.setCode(CIMConstant.ReturnCode.CODE_500); + e.printStackTrace(); + logger.error("拉取离线消息失败", e); + } + return reply; + } +} \ No newline at end of file diff --git a/cim_for_netty/ichat-server/src/main/resource/spring-cim.xml b/cim_for_netty/ichat-server/src/main/resource/spring-cim.xml index c480cc4..f0aa66d 100644 --- a/cim_for_netty/ichat-server/src/main/resource/spring-cim.xml +++ b/cim_for_netty/ichat-server/src/main/resource/spring-cim.xml @@ -30,7 +30,9 @@ - + + +