Java 在Websocket应用程序中初始化时间密集型子系统
我正在创建一个websocket应用程序,我想在程序初始化时执行一次性的时间密集型任务。创建此应用程序时,建议的做法()是覆盖以下函数:Java 在Websocket应用程序中初始化时间密集型子系统,java,netbeans,websocket,Java,Netbeans,Websocket,我正在创建一个websocket应用程序,我想在程序初始化时执行一次性的时间密集型任务。创建此应用程序时,建议的做法()是覆盖以下函数: @ServerEndpoint(value = "/testendpoint", encoders = {TestEncoder.class}, decoders = {TestDecoder.class}) public class WSEndpoint { @OnMessage public void onMessage(Sessi
@ServerEndpoint(value = "/testendpoint", encoders = {TestEncoder.class}, decoders = {TestDecoder.class})
public class WSEndpoint
{
@OnMessage
public void onMessage(Session wsSession, CommandIn command) throws IOException, EncodeException
{
...
}
@OnOpen
public void onOpen(Session wsSession)
{
...
}
@OnClose
public void onClose(Session wsSession)
{
...
}
@OnError
public void onError(Throwable t)
{
}
}
因此,当创建一个新连接/会话时,将调用“onOpen”,当收到一条新消息时,将调用“onMessage”
我想做的是,在让用户创建会话和发送命令(通过浏览器前端)之前,初始化子系统,初始化大约需要20秒。如果它只是在“第一次请求使用”时初始化,就像我现在所做的那样,那么用户体验就会中断。显然,这里没有可见的“main”函数(可能是由websocket框架在更深层次上调用的)
你们建议我做什么来实现我想做的?目前,我在一个内部类的静态块中有初始化代码——只执行一次——但在第一次“调用/使用”该类时执行,从而中断了用户体验
有什么建议吗
谢谢。web应用程序中初始化代码的最佳位置是a的方法内部 这样,您可以在应用程序启动时进行初始化