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
}
}