我想用以下场景的适当方法设计我的休息端点.
有一个小组.每个组都有一个状态.管理员可以激活或取消激活该组.
我应该将我的终点设计为
PUT /groups/api/v1/groups/{group id}/status/activate
Run Code Online (Sandbox Code Playgroud)
要么
PATCH /groups/api/v1/groups/{group id}
with request body like
{action:activate|deactivate}
Run Code Online (Sandbox Code Playgroud) 我想在一段固定的时间内运行一个线程.如果它没有在那段时间内完成,我想杀死它,抛出一些异常,或以某种方式处理它.怎么做到呢?
我从这个线程 中发现的一种方法是在Thread的run()方法中使用TimerTask.
有没有更好的解决方案呢?
编辑:添加赏金,因为我需要一个更清晰的答案.下面给出的ExecutorService代码没有解决我的问题.为什么我应该在执行后睡觉()(一些代码 - 我没有处理这段代码)?如果代码完成并且sleep()被中断,那怎么可能是timeOut?
需要执行的任务不在我的控制范围内.它可以是任何一段代码.问题是这段代码可能会遇到无限循环.我不希望这种情况发生.所以,我只想在一个单独的线程中运行该任务.父线程必须等到该线程完成并且需要知道任务的状态(即它是否超时或发生了一些异常或者是否成功).如果任务进入无限循环,我的父线程会无限期地等待,这不是一个理想的情况.
如果没有覆盖hashCode()方法,那么在Java中的任何对象上调用hashCode()的结果是什么?
以下编译正常:
Object o = new Object();
System.out.println(o instanceof Cloneable);
Run Code Online (Sandbox Code Playgroud)
但这不是:
String s = new String();
System.out.println(s instanceof Cloneable);
Run Code Online (Sandbox Code Playgroud)
抛出编译器错误.
问题是什么?
我有一个方法,它采用可变长度字符串(String ...)作为参数.我List<String>和我在一起.我如何将此作为参数传递给方法?
HashMap实现了Serializable接口; 所以它可以序列化.我查看了HashMap的实现,并将Entry []表标记为瞬态.由于Entry []表是存储Map的全部内容的表,如果无法序列化,那么在反序列化过程中如何构造Map?
当添加或关闭新的消费者/ brorker时,Kafka会触发重新平衡操作.Kafka Rebalancing是一种阻止操作吗?在重新平衡操作正在进行时,Kafka消费者是否受阻?
message-queue producer-consumer apache-kafka kafka-consumer-api
我正在为我的应用程序设计REST端点,我需要为一些端点使用PATCH.所有支持HTTP/1.1的浏览器都能支持PATCH吗?
java ×7
http-patch ×2
rest ×2
abstract ×1
apache-kafka ×1
cloneable ×1
enums ×1
hashcode ×1
hashmap ×1
http ×1
http-method ×1
http-put ×1
instanceof ×1
jvm ×1
list ×1
object ×1
timeout ×1
timer ×1
version ×1