Java EE用毫秒间隔制作一个计时器,以发送数据包



java ee对我来说是一个庞然大物,我已经在一天前就问了一个非常相似的问题,但没有得到任何足够的回答。

简单地说,我想为我的Glassfish服务器制作一个计时器循环,该服务器将连续将信息包发送给通过Websocket连接的任何客户端。

我希望它经常发送数据包(每几毫秒(,因为这是为了实现游戏。

我看过一个使用@Schedule注释的建议,但最多只有一次每秒一次,这对我的工作不足。

我已经在网上看,但我什至不知道要使用哪些关键字来查找我在Java中寻找的内容。有任何提示?

您可以将TimerService与@TimeOut注释一起使用毫秒间隔。

package my.example;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import javax.ejb.Singleton;
import javax.ejb.LocalBean;
import javax.ejb.Startup;
import javax.ejb.Timeout;
import javax.ejb.Timer;
import javax.ejb.TimerService;
@Singleton
@LocalBean
@Startup
public class IntervalTest {
    @Resource
    private TimerService timerService;
    @PostConstruct
    private void init() {
        // Start after 1 seconds, subsequently every 50 milliseconds
        timerService.createTimer(1000, 50, "IntervalTest");
    }
    @Timeout
    public void execute(Timer timer) {
        // do something
   }
}

相关内容

最新更新