openfire插件開發之IQHander

IQHander插件

注意事項

咱們若是要作本身的IQ包處理,能夠自定義類如TestTemplateMethodHandler:class TestTemplateMethodHandler extends IQHandler。框架

如下須要注意:ide

  1. IQ handlers相應包中特定的元素名或命名空間,在public IQHandlerInfo getInfo()方法中寫上本身想要註冊的元素名及命名空間。如:spa

private IQHandlerInfo info;
private String HISTORY_XMLNS = "http://weaver.com.cn/history" ;

public HistoryIQHandle() {
super("HistoryIQHandle");
info = new IQHandlerInfo("query", HISTORY_XMLNS);
}
@Override
public IQHandlerInfo getInfo() {
return info;
}

 

  1. 在public IQ handlerIQ(IQ packet)方法中寫上本身想要對丟進來的IQ包作什麼樣的處理(注意IQ包是基於問答形式的,因此應該有IQ包的reply)。插件

  2. 繼承IQHandler的插件,須要註冊到IQRouter中去。code

實現過程

  1. 建立一個類,繼承IQHandler類,下面是一個IQHander框架router

    public class TestIQHander extends IQHandler {

      private static final Logger Log = LoggerFactory.getLogger(TestIQHander.class);
      private IQHandlerInfo info;
      //這裏實現不一樣的iq接口
      private String ISONLINE_XMLNS = "http://weaver.com.cn/isOnline";

      public TestIQHander(String moduleName) {
          super("TestIQHander");
          info = new IQHandlerInfo("query", ISONLINE_XMLNS);
      }

      @Override
      //這裏實現本身的邏輯
      public IQ handleIQ(IQ packet) throws UnauthorizedException {
          return null;
      }

    //這裏必須返回info
      @Override
      public IQHandlerInfo getInfo() {
          return info;
      }
    }
  2. 註冊繼承IQHander的到IQrouter中,能夠在其餘插件初始化時註冊.xml


    IQRouter iqRouter = XMPPServer.getInstance().getIQRouter();
    TestIQHander test = new TestIQHander();
          iqRouter.addHandler(test);

iq接口類型

前臺請求的iqiq接口有以下類型:繼承

1. 簡要描述接口

  • 建立羣組接口get

請求xmlns:
  • http://weaver.com.cn/group

2. 簡要描述:
  • 將成員列表中成員添加到羣組中

請求xmlns:
  • http://weaver.com.cn/group

3. 簡要描述:
  • 刪除羣成員接口

請求xmlns:
  • http://weaver.com.cn/group

4. 簡要描述:
  • 修改羣組名稱接口

請求xmlns:
  • http://weaver.com.cn/group

5. 簡要描述:
  • 用戶退出羣組接口

請求xmlns:
  • http://weaver.com.cn/group

簡要描述:
  • 設置羣組icon圖標接口

6. 請求xmlns:
  • http://weaver.com.cn/group

7. 簡要描述:
  • 轉讓羣主接口

請求xmlns:
  • http://weaver.com.cn/group

8. 簡要描述:
  • 設置羣組管理員接口

請求xmlns:
  • http://weaver.com.cn/group

相關文章
相關標籤/搜索