1. 程式人生 > >Tigase開發筆記4:Tigase Component元件開發

Tigase開發筆記4:Tigase Component元件開發

使用的Tigase Server版本 7.0.2 最新版,網上的資料很多,但都不能清楚明白的說明,自己整理了一下,其實很簡單,希望幫助走繞了路的朋友。 元件開發的快速引導
開發一個元件(Component)需要做如下幾件事兒 1. 定義一個元件 2. 配置這個元件 3. 呼叫這個元件 4. 處理元件收到的訊息 1. 定義一個元件
定義一個最簡單的訊息元件,需要繼承 extends AbstractMessageReceiver 類
public class EchoComponent extends AbstractMessageReceiver {
private static final Logger log = Logger.getLogger(EchoComponent.class.getName());

//~--- methods --------------------------------------------------------------
@Override
public void processPacket(Packet packet) {
log.log(Level.FINEST, "Received: {0}", packet);

Packet result = packet.swapStanzaFromTo();

addOutPacket(result);
log.log(Level.FINEST, "Sent back: {0}", result);
}
}
2. 配置這個元件
在init.properties中配置這個元件
--comp-name-8=echo #自定義名稱即可,這個名字在客戶端傳送訊息給元件時會用到
--comp-class-8=tigase.server.test.EchoComponent
這樣這個元件就配置好了,Tigase啟動時就會註冊載入這個元件,客戶端即可呼叫了 想要將訊息傳送給這個元件,客戶端的to="xxx"需要設定為 to="xxx" -》 to = "元件名稱@域名" -》 to="[email protected]",否則訊息不會傳遞給名為"echo"這個元件
3. 呼叫這個元件(我用的Spark 客戶端的除錯模式中的)
<message from="[email protected]/Spark"
  to="[email protected]
" id="8oHyf-314" xmlns="jabber:client">
  <subject>test message</subject>
  <body>this is a test,hi,word1</body>
</message>
完整呼叫見截圖(我用的是Spark客戶端登入介面的除錯模式登入,然後使用傳送自定義報文的功能)
4. 處理訊息
這就是一個最簡單的元件開發過程!

更多詳細請看下面的介紹 官網開發指導:

相關推薦

Tigase開發筆記4Tigase Component元件開發

使用的Tigase Server版本 7.0.2 最新版,網上的資料很多,但都不能清楚明白的說明,自己整理了一下,其實很簡單,希望幫助走繞了路的朋友。 元件開發的快速引導 開發一個元件(Component)需要做如下幾件事兒 1. 定義一個元件 2. 配置這個元件 3

Angular6學習筆記16核心知識-元件component

元件 簡介 元件控制螢幕上被稱為檢視的一小片區域。將檢視等同於一個小汽車,那麼元件就是組成汽車的每一個零件。在類中定義元件的應用邏輯,為檢視提供支援。元件通過一些由屬性和方法組成的API與檢視互動。當用戶在整個應用中操作的時候,Angular就會建立,更新,銷燬一些元件。應用可以通過一些可以

C++發哥筆記(4)類的繼承

rcp 繼承 特點 face 系列 表示 導致 編譯 代碼 繼承 在C++裏,有繼承的語法來表示is kind of的關系 class Tutorial { }; class VideoTutorial : public Tutorial { }; 語法:class

ESP8266學習筆記4ESP8266的SmartConfig

rtc 訂閱號 new 例程 detail smart ted tracking 不能 今天花了將近一天的時間來研究ESP8266的SmartConfig功能,這個應該算是wifi雲產品的標配。這篇文章先把SmartConfig操作一遍,我還寫了還有一篇文章梳理了物理層

Web前端開發實戰4導航菜單(一)

pan 解決 博文 xmlns 背景圖 20px mar 水平 經典 在前面的博文中我們提到橫向一級菜單,這裏我們來看看導航菜單。導航菜單種類非常多,可是制作原理都是大同 小異的。這裏看的比二級下拉式菜單還簡單。來看一些站點上的導航菜單:

深度學習 Deep Learning UFLDL 最新Tutorial 學習筆記 4Debugging: Gradient Checking

style inline add tom radi posit math size tutorial 1 Gradient Checking 說明前面我們已經實現了Linear Regression和Logistic Regression。關鍵在於代價函數Cost Fun

iOS開發筆記17自定義相機拍照

hub 銷毀 用戶 做了 api 交互設計 cap iphone 結果 之前用AVFoundation自定義相機做了拍照與視頻相關的東西,為什麽要自定義呢?主要是提供更個性化的交互設計,符合app主題,對於視頻來說,也便於提供更多豐富有趣的功能。前段時間整理了下拍照部分的功

Spark學習筆記4數據讀取與保存

讀取數據 chapter byte hadoop tar .lib 文件中 api sequence Spark對很多種文件格式的讀取和保存方式都很簡單。Spark會根據文件擴展名選擇對應的處理方式。 Spark支持的一些常見文件格式如下:  1、文本文件    使用文件

python 全棧開發筆記 4

sta 基於 資源 網絡編程 多核 final tex rop path 反射 1.通過字符串的形式導入模塊 2.通過字符串的形式,去模塊中尋找指定函數並執行 ‘‘‘ def f1(): return ‘F1‘ def f2(): return ‘F2‘

hibernate框架學習筆記4主鍵生成策略、對象狀態

alt rri gen 線程安全 理論 微軟 unit conf lose 創建一個實體類: package domain; public class Customer { private Long cust_id; private Stri

struts2框架學習筆記4獲取參數

map pre spa xtend 新的 get cti port row 第一種參數獲取方式: 編寫一個前端頁面,提交表單,做示例: <form action="${pageContext.request.contextPath}/Demo1Actio

spring框架學習筆記4SpringAOP實現原理

odin 就是 sets 使用 point 攔截 ceo oca ssl AOP AOP(Aspect Oriented Programming),即面向切面編程,可以說是OOP(Object Oriented Programming,面向對象編程)的補充和完善。OOP引入

閱讀筆記4一等函數

定位 應用 ted 11.2 lambda函數 筆記 python range 用c語言實現 1.概述 在Python中,函數是一等對象 一等對象的定義:在運行時創建能賦值給變量或數據結構中的元素能作為參數傳給函數能作為函數的返回結果 在python中,整數,字符串和字典都

微信小程式開發筆記4—— IntersectionObserver 用法詳解

看微信文件時看到這個很有趣的api,但是官方的文件和例子關於這個api的介紹都是很讓人失望的,所以花了點時間瞭解了以下這個方法,做個記錄,供參考。 簡介 首先,我的理解是,這是一個觀察器(廢話),它用來監測目標物件與某個參照物的相交情況。什麼是相交情況?通俗的說,就是兩個區域有重

NETWORK筆記4華為命令

<Huawei>      #使用者檢視 <Huawei>system-view      #進系統檢視 Enter system view, return user view with Ctrl+Z. 

STM32開發筆記44RTC驅動程式的移植

微控制器型號:STM32F070F6P6 本文介紹,將RTC驅動程式移植到自己的工程專案中的方法。本專案僅使用了RTC的實時時鐘功能,沒有啟動定時報警等功能。   1、在STM32CubeMX中對RTC進行配置,如下圖所示,激活了時鐘源和日曆功能。 2、配置R

STM32開發筆記45看門狗驅動程式的移植

微控制器型號:STM32F070F6P6 本文介紹將看門狗驅動程式移植到自己工程中的方法,本專案使用的是獨立看門狗IWDG。   1、在STM32CubeMX中使能看門狗,如下圖所示。 2、檢視看門狗時鐘。 3、對看門狗進行設定,這裡主要的是設定IW

Less學習筆記4樣式混合

混合 對於同一個頁面元素: <div class='box'></div> 在Less檔案中設定box的寬度: @test_width:300px; .box{ width:@test_width; } 此時若還要給div這個元素加一個bor

STM32開發筆記55STM32F4+DP83848乙太網通訊指南系列(九)自己寫一個ARP協議

本章為系列指南的第九章,終結篇,本章主要來分析一下完整的ARP協議,並在STM32F4中實現一個精簡的ARP協議響應流程。 ARP協議的本質是使區域網內的其他主機能夠知道我在哪兒,比如在區域網上有人衝著所有人喊了一句「IP為XXXX的傢伙,你在哪兒」,我一聽,XXXX不是我的IP嗎,我得回答他啊

STM32開發筆記54STM32F4+DP83848乙太網通訊指南系列(八)收包流程

本章為系列指南的第八章,講述如何使用STM32F407晶片配合DP83848進行乙太網資料的收包流程,將監聽到的網路包資料通過UART傳給PC,同時輔以WireShark監聽對比驗證。 關於UART,也就是串列埠通訊的使用,這裡不做贅述,我們這裡預設兩個函式分別為UART6Init()和UART