小编Dri*_*321的帖子

使用shutdownNow()方法获取我使用ScheduledThreadPoolExecutor计划的Runnable对象

我正在使用ScheduledThreadPoolExecutor.schedule(Runnable,int,TimeUnit)来安排实现Runnable的类的一些对象.

在某个时间点,我的应用程序正在关闭,我使用ScheduledThreadPoolExecutor.shutdownNow().根据文档,它返回ScheduledFuture的列表.

我真正想要做的是获取我最初安排的对象,并从中获取一些数据然后我将输出它说它无法执行.然后,应用程序将使用它在应用程序随后重新启动时尝试执行它.

java multithreading executorservice threadpool

5
推荐指数
1
解决办法
2097
查看次数

如何强制JGroups哪个节点创建协调器?

我正在寻找一种方法来强制JGroups使用特定的服务器作为协调器,如果该服务器不存在,则选择一个新的协调器,直到指定的协调器重新加入群集并接管为协调器.

在这种情况下,我们通过协调器监听主题以获取更新来向集群推送一些信息,但是获取和处理这些更新可能是资源密集型的,因此我们不希望它向外界提供任何服务.因此,在集群前面的负载均衡器中,我们将其设置为不发送给协调器.但是因为协调器是随机选出的,所以我们基本上需要关闭集群,直到只有一台机器在那里,然后重新启动集群的其余部分.

java jgroups cluster-computing

5
推荐指数
1
解决办法
2324
查看次数

Spring单例初始化完成后如何运行方法?

使用Spring 3.0.x,我遇到了一个运行Bean init方法的问题,并且其中一部分提取了一些信息,然后在另一个线程中(原始init()线程等待其他线程完成)尝试根据该信息检索获取一个或多个Bean.问题是,这些其他豆类也是单身,尚未初始化.在getSingleton()方法中,DefaultSingletonBeanRegistry中有一个synchronized()块.

问题出现了,我正在尝试获取/初始化Bean,而我正在初始化Bean,所以我在init()方法中遇到主线程,另一个线程试图获取另一个单例Bean,并且被阻止,因为第一个线程有锁.

所以,我看到它的方式,我有两个选择:

1)获取Spring在完全创建单例之后运行一个方法,执行实际数据获取和处理2)提供消息传递给它将数据返回给主线程,然后在其中处理所有数据,因为它已经有显示器锁定

思考?想法?我怎样才能让#1工作?

java spring dependency-injection initialization

2
推荐指数
1
解决办法
5151
查看次数

为不同的值类型添加.equals()

我有一个有几个字段的类,其中一个是一个int,两个是long.我正在考虑做的是添加一个检查,equals()所以如果一个Integer对象被传入,它将比较该int字段,如果相同的返回true.同样,如果Long传入,如果它在2个long字段之间,它将返回true.

所以,如果我将一些这些对象添加到ListSet,我可以做一个get()并让它自动给我第一个匹配的对象.我的想法是,如果我这样做,那么我只是get()打电话,然后我会拥有它,而不是必须有一个额外的循环和检查.

与简单地迭代所有对象并以这种方式进行比较相比,这是一个好主意还是坏主意?

java equals

0
推荐指数
1
解决办法
142
查看次数