日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Smack Component 多线程环境下的问题解决

發布時間:2025/5/22 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Smack Component 多线程环境下的问题解决 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

? ? 昨天晚上一直在調試一個奇怪的問題。該問題就大流量的情況下就會出現。

? (注:以后凡是奇怪的問題,而且是性能測試出現的,先往多線程這兒走)

? ? 用一個小片段的代碼來說明這個問題:

? ??

public class TestComponent implements org.xmpp.component.Component{private TestService service = new TestService();........public void processPacket(Packet packet) {TestObject = service.handle(packet);........}........}

? ? ?然后我們用whack下面的ExternalComponentManager來包裝這個component并連接到openfire服務器上。

? ? ?如果打開ExternalComponentManager的源碼就會發現,這個component的工作模式和java servlet類似。

? ? ?一個component的實例的processPacket會在一個線程池中被調用。如果TestService是一個非線程安全的類的話,肯定會出問題。

? ? ?以后再碰到類似模式的java class,發現里面定義了成員變量,先問問為什么要定義這些成員?他們線程安全嗎?

? ? ?寫到這兒,就回憶起,這種問題其實碰到過好多次了。再提醒一下自己把。

轉載于:https://my.oschina.net/u/145002/blog/39618

總結

以上是生活随笔為你收集整理的Smack Component 多线程环境下的问题解决的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。