![](/img/trans.png)
[英]Java's JDB (and Eclipse) hang when connecting to remote JVMs with many threads (i.e. transmitting thread debug information via TCPIP)
[英]Java TCPIP EJB Threads
我正在開發一個TCPIP應用程序,其中客戶端將信息發送到指定的端口,服務器將偵聽該端口。 我想實現以下目標:
重新連接到客戶端/端口,以查看在指定時間段后它是否處於活動狀態。
我實現了以下代碼:
@Stateless
@Local
public Listener implements ConnectionListener {
public void listen() throws Exception {
ServerSocket serverSocket = new ServerSocket(somePort);
Socket socket = serverSocket.accept();
while(!socket.isClosed()) {
}
}
}
public interface ConnectionListener {
public void listen() throws Exception;
}
EJB技術如何做到這一點? 我知道while循環是錯誤的,但是可以包含什么。 我有兩種方法:
但是,我不希望使用線程方法。
我知道在EJB中有諸如EJBTimer之類的東西。 什么是實現此目標的最佳方法,以及如何在代碼中實現。 你能幫我改變while循環來做我想做的事情嗎?
同樣,客戶端沒有API可以調用此應用程序。 如何在啟動Application Server時觸發此實例,以便偵聽消息。 通常,這可以通過Servlet實現,但我認為這不會起作用。 有任何想法嗎?
這種功能處於您在EJB中要做的事情的“邊緣”。 通常,EJB不直接進行網絡類型活動,尤其是長期監聽。
您真正想要的是EJB單例。 這有點像一個獨立的實例,它可以執行更多高級功能,例如自定義並發/線程和(與您相關)啟動自定義套接字偵聽器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.