如何将java.util.logging中的日志记录级别映射到SLF4J?
SLF4J
java.util.logging中
在我的项目中,我使用 radisson ( https://github.com/redisson/redisson )创建了一个简单的发布/订阅主题。发布者会发布一些消息,并且会有多个订阅者在不同的机器上运行。当我发布时,所有订阅者都收到消息。但我希望订阅者中的任何人都可以处理该消息,即如果有人处理该消息,其他人应该直接忽略它。雷迪森可以吗?
听众:
RTopic topic = redisson.getTopic("topic2");
topic.addListener(Person.class, new MessageListener<Person>() {
@Override
public void onMessage(CharSequence charSequence, Person person) {
System.out.println("PERSON : "+person.toString());
}
});
Run Code Online (Sandbox Code Playgroud)
出版商:
Person person = new Person("anyName","female");
RedissonClient redisson = Redisson.create();
RTopic topic = redisson.getTopic("topic2");
topic.publish(person);
Run Code Online (Sandbox Code Playgroud)
是否可以放锁或其他东西,以便只有一个订阅者收听它。任何其他工具是否支持这种行为。
在我的项目中,需要从外部服务下载文件并将其存储在某个路径中。所以我RestTemplate
在 spring中使用将文件下载为 Byte[] 。但是这个操作消耗了我的内存消耗。我在这个博客https://inneka.com/programming/spring/spring-webclient-how-to-stream-large-byte-to-file/ 中发现了关于使用 spring webClient 并将文件写入 path 。由于我关注的文件是我使用的音频文件APPLICATION_OCTET_STREAM
。以下代码不起作用的问题。我对反应式编程非常陌生,任何对此的提示都会有所帮助。
public Mono<void> testWebClientStreaming(String filename, String format) throws IOException {
WebClient webClient = WebClient.create("https://stackoverflow.com");
String username = "Username";
String token = "Password";
String path = DOWNLOAD_TEMP_PATH + PATH_SEPERATOR + filename +"."+ format;
Flux<DataBuffer> stream = webClient
.get()
.uri("/files/{filename}.{format}",
filename, format)
.accept(MediaType.APPLICATION_OCTET_STREAM)
.header("Authorization", "Basic " + Base64Utils.encodeToString((username + ":" + token).getBytes(UTF_8)))
.retrieve()
.bodyToFlux(DataBuffer.class);
return DataBufferUtils.write(stream, asynchronousFileChannel)
.doOnComplete(() -> System.out.println("\n\n\n\n\n\n FINISHED "))
.doOnNext(DataBufferUtils.releaseConsumer())
.doAfterTerminate(() -> {
try …
Run Code Online (Sandbox Code Playgroud) java reactive-programming spring-boot spring-webflux spring-webclient
对 git branching 和 merge 有一个基本的疑问。一个分支可以在没有任何更改的情况下合并到 master 中吗?如果是这样,master 和 branch 之间存在的增量变化会发生什么。这是否会被 master 分支更改覆盖。请参考以下场景:
我有两个分支 master 和 BugBranch。
第1步:
C--B--A (master)
|
X (branch)
Run Code Online (Sandbox Code Playgroud)
从 master 那里拿了一个分支说 BugBranch 。现在我有一个文件 TestMerge.java。
public static void main(String[] args){
...
...
callSomeMethod();
switch(decision)
{
case A:
do_something
break;
case B:
do_something
break;
}
}
Run Code Online (Sandbox Code Playgroud)
所以在 STEP 1 , master 和 BugBranch 看起来都一样。
第 2 步:文件(TestMerge)在 master 中更改如下。(刚取下开关)
public static void main(String[] args){
...
...
callSomeMethod();
}
C--B--A--1 (master)
|
X (branch)
Run Code Online (Sandbox Code Playgroud)
第 3 步:问题是当我尝试将分支与 master …
java ×3
git ×1
git-branch ×1
git-merge ×1
github ×1
logging ×1
redis ×1
slf4j ×1
spring-boot ×1