首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java TCPIP EJB线程

Java TCPIP EJB线程
EN

Stack Overflow用户
提问于 2014-04-04 14:46:49
回答 1查看 227关注 0票数 0

我正在开发一个TCPIP应用程序,客户端将向指定的端口发送信息,服务器将监听该端口。我希望做到以下几点:

重新连接到客户端/端口,以查看它在指定时间段后是否处于活动状态。

我已经实现了以下代码:

代码语言:javascript
复制
@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时触发此实例,以便侦听消息。通常,这可以通过Servlet来实现,但我认为这是行不通的。有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2014-04-04 15:00:38

这种功能处于您在EJB中要做的事情类型的“边缘”。通常,EJB不直接进行网络类型活动,特别是长期监听。

您真正想要的是EJB单例。这有点像一个独立的实例,它可以执行更高级的事情,比如自定义并发/线程以及(与您相关的)启动自定义套接字侦听器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22865969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档