我正在解析输入JSON.对于一个领域,有三种可能性:
实现了不同的行为:对于JSON中缺少的值,将默认值插入到数据库中; 对于JSON中的空值,将空值插入到数据库中.
我Optional想要模仿这个:
public class Data {
private Optional<String> field;
}
Run Code Online (Sandbox Code Playgroud)
以下哪两个选项最有意义?
field为null,则JSON中不存在该字段.如果field是Optional.empty,则该字段null位于JSON中.field为null,则该字段null位于JSON中.如果field是Optional.empty,则JSON中不存在该字段.FWIW,我使用Jackson和模块jackson-datatype-jdk8来解析输入JSON.
我有两个独立的阻塞队列.客户端通常使用第二个阻塞队列中的第一个来检索要处理的元素.
在某些情况下,客户端对来自两个阻塞队列的元素感兴趣,无论哪个队列首先提供数据.
客户端如何同时等待两个队列?
是否WebTarget按照以下线程安全性来创建Jersey客户端?
WebTarget client = ClientBuilder
.newClient(new ClientConfig(new JacksonJaxbJsonProvider(<object mapper Jackson>, JacksonJaxbJsonProvider.DEFAULT_ANNOTATIONS)))
.target("<url>");
Run Code Online (Sandbox Code Playgroud)
请注意,为此,Jackson ObjectMapper也必须是线程安全的。