Commit fc3f6d25 authored by 刘文胜's avatar 刘文胜

111

parent b7592564
......@@ -37,48 +37,42 @@ public final class IMManager {
private IMManager(){}
public static void pushMessage(AbstractMessage message){
try {
queue.put(message);
} catch (InterruptedException e) {
}
try{
addUserIfNotExist(message);
}catch(Throwable e){
}
try {
queue.put(message);
} catch (InterruptedException e) {
}
}
public static void addUserIfNotExist(AbstractMessage e){
final NewUserMessage newUserMessage=new NewUserMessage();
NewUserMessage newUserMessage=new NewUserMessage();
newUserMessage.appId=e.appId;
newUserMessage.createTime=new Date();
newUserMessage.entCode=e.entCode;
newUserMessage.openId=e.openId;
pool.execute(new Runnable() {
@Override
public void run() {
broadcast(newUserMessage);
}
});
try {
queue.put(e);
} catch (InterruptedException e1) {
}
}
public static void broadcast(AbstractMessage message){
if(waiters.size() == 0){
return;
}
String m = JSONObject.toJSONString(message);
for (Waiter waiter : waiters) {
if(waiter == null ||
/*if(waiter == null ||
message.entCode == null ||
waiter.entCode == null ||
waiter.entCode.intValue() != message.entCode.intValue()){//没有客服
continue;
}
}*/
Session session= waiter.session;
if(session == null || !session.isOpen()){
/*if(session == null || !session.isOpen()){
return;
}
}*/
try {
session.getBasicRemote().sendText(m);
} catch (IOException e1) {
......@@ -94,13 +88,16 @@ public final class IMManager {
}
static{
int pross = Runtime.getRuntime().availableProcessors();
if(pross == 0 ){
pross = 1;
}
for(int i=0;i<pross;i++){
pool.execute(new Runnable() {//消息发射器
public void hand(){
AbstractMessage e=queue.poll();
if(e == null){
try {
Thread.sleep(3000);
Thread.sleep(50);
} catch (InterruptedException e1) {
}
return ;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment