ソースを参照

[线程][修改]:复用已有线程

release
Stormeye Wu 7年前
コミット
724e781ad1
1個のファイルの変更13行の追加5行の削除
  1. +13
    -5
      mlWechatOpen/src/main/java/com/iformall/mp/manager/WxMpManager.java

+ 13
- 5
mlWechatOpen/src/main/java/com/iformall/mp/manager/WxMpManager.java ファイルの表示

@@ -1,7 +1,6 @@
package com.iformall.mp.manager; package com.iformall.mp.manager;


import com.iformall.mp.handler.*; import com.iformall.mp.handler.*;
import com.iformall.service.WxAppinfoService;
import com.iformall.service.wechat.FmOpenService; import com.iformall.service.wechat.FmOpenService;
import me.chanjar.weixin.mp.api.WxMpMessageRouter; import me.chanjar.weixin.mp.api.WxMpMessageRouter;
import me.chanjar.weixin.mp.api.WxMpService; import me.chanjar.weixin.mp.api.WxMpService;
@@ -9,6 +8,9 @@ import me.chanjar.weixin.mp.constant.WxMpEventConstants;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;


import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

import static me.chanjar.weixin.common.api.WxConsts.*; import static me.chanjar.weixin.common.api.WxConsts.*;


/** /**
@@ -19,12 +21,11 @@ import static me.chanjar.weixin.common.api.WxConsts.*;
@Service @Service
public class WxMpManager { public class WxMpManager {


private Map<String, WxMpMessageRouter> myRouterMap = new ConcurrentHashMap<String, WxMpMessageRouter>();


@Autowired
protected FmOpenService openService;


@Autowired @Autowired
private WxAppinfoService appinfoService;
protected FmOpenService openService;
@Autowired @Autowired
private LogHandler logHandler; private LogHandler logHandler;
@Autowired @Autowired
@@ -49,7 +50,12 @@ public class WxMpManager {
} }


public WxMpMessageRouter getRouter(WxMpService mpService) { public WxMpMessageRouter getRouter(WxMpService mpService) {
return newRouter(mpService);
String appId = mpService.getWxMpConfigStorage().getAppId();
if (myRouterMap.containsKey(appId)) {
return myRouterMap.get(appId);
} else {
return newRouter(mpService);
}
} }


private WxMpMessageRouter newRouter(WxMpService wxMpService) { private WxMpMessageRouter newRouter(WxMpService wxMpService) {
@@ -122,6 +128,8 @@ public class WxMpManager {
// 默认 // 默认
newRouter.rule().async(false).handler(this.msgHandler).end(); newRouter.rule().async(false).handler(this.msgHandler).end();


myRouterMap.put(wxMpService.getWxMpConfigStorage().getAppId(), newRouter);

return newRouter; return newRouter;
} }




読み込み中…
キャンセル
保存