scheduleAtFixedRate() 被调用两次
scheduleAtFixedRate() is being called twice
日志:
[pool-1-thread-1] TRACE apns.ApnsPushConnection - 输入方法 queryFeedbackService 参数
[pool-3-thread-1] TRACE apns.ApnsPushConnection - 输入方法 queryFeedbackService 参数
[pool-1-thread-1] TRACE apns.ApnsPushConnection - Return 方法 queryFeedbackService
[pool-3-thread-1] TRACE apns.ApnsPushConnection - Return 方法 queryFeedbackService
//In Singleton class constructor
ScheduledExectorService obj = Executors.newSingleThreadScheduledExecutor();
obj.scheduleAtFixedDelay(new runnable(){
public void run(){
classObj.queryFeedbackService();
}
}),20,60,TimeUnit.SECONDS);
//method called by thread
public void queryFeedbackService()
{
code here
}
从日志中,您有几个池 运行:pool-1
和 pool-3
。
您可能想确保只初始化一个池。
根据 Jean 的回答,确实有 2 个游泳池。
但在我这里,我的项目被加载到由 Spring 初始化的 Jetty 服务器中。
还在 Jetty 服务器内部 - 它正在为 Spring bean 创建容器,这些 bean 从服务-context.xml 文件中初始化。
所以它被调用了两次导致创建了两个池
感谢所有发表评论并尝试解决我的问题的人。
意义重大:)
日志:
[pool-1-thread-1] TRACE apns.ApnsPushConnection - 输入方法 queryFeedbackService 参数
[pool-3-thread-1] TRACE apns.ApnsPushConnection - 输入方法 queryFeedbackService 参数
[pool-1-thread-1] TRACE apns.ApnsPushConnection - Return 方法 queryFeedbackService
[pool-3-thread-1] TRACE apns.ApnsPushConnection - Return 方法 queryFeedbackService
//In Singleton class constructor
ScheduledExectorService obj = Executors.newSingleThreadScheduledExecutor();
obj.scheduleAtFixedDelay(new runnable(){
public void run(){
classObj.queryFeedbackService();
}
}),20,60,TimeUnit.SECONDS);
//method called by thread
public void queryFeedbackService()
{
code here
}
从日志中,您有几个池 运行:pool-1
和 pool-3
。
您可能想确保只初始化一个池。
根据 Jean 的回答,确实有 2 个游泳池。
但在我这里,我的项目被加载到由 Spring 初始化的 Jetty 服务器中。
还在 Jetty 服务器内部 - 它正在为 Spring bean 创建容器,这些 bean 从服务-context.xml 文件中初始化。
所以它被调用了两次导致创建了两个池
感谢所有发表评论并尝试解决我的问题的人。 意义重大:)