小编sha*_*ika的帖子

如何映射java.util.logging和SLF4J logger的级别?

如何将java.util.logging中的日志记录级别映射到SLF4J?

SLF4J

  • 跟踪
  • 调试
  • 信息
  • 警告
  • 错误
  • 致命

java.util.logging中

  • 最好的
  • 精细
  • 配置
  • 信息
  • 警告
  • 严重

java logging slf4j java.util.logging

24
推荐指数
1
解决办法
1万
查看次数

如何让一个订阅者在 Radisson(redis-java 客户端)中处理消息(考虑有多个)

在我的项目中,我使用 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)

是否可以放锁或其他东西,以便只有一个订阅者收听它。任何其他工具是否支持这种行为。

java publish-subscribe redis

7
推荐指数
1
解决办法
622
查看次数

如何使用 Flux&lt;DataBuffer&gt; 从响应中读取大文件?

在我的项目中,需要从外部服务下载文件并将其存储在某个路径中。所以我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

5
推荐指数
0
解决办法
1392
查看次数

如何将没有更改的分支合并到 git 中的 master 分支?

对 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 …

git github git-merge branching-and-merging git-branch

4
推荐指数
1
解决办法
2680
查看次数