小编Dhr*_*aya的帖子

龙目岛可选

我有一个类Address看起来像这样:

@Value
class Address {

   @NotNull String userId;
   @NotNull String line1;
   String line2;

   private Address(Builder b) {
      // copy everything from builder
   }

   // override getter for line2 so that it returns Optional<String>
   public Optional<String> getLine2() {
      return Optional.ofNullable(this.line2);
   }

   // and a Builder
   public static class Builder {
     // builder methods
   }
}
Run Code Online (Sandbox Code Playgroud)

在这里我被迫写Builder了一个Getter因为,如果我想在使用Lombok时返回一个Optional,我必须声明line2Optional<String>.这将生成一个接受的构建器方法Optional<String>!

还有其他方法可以使用lombok Optional吗?

java optional lombok

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

如何实现分布式限速器?

比方说,我让P进程在N台物理机上运行一些业务逻辑.例如,这些进程调用了一些Web服务S. 我想确保所有P进程组合的每秒服务S的调用不超过10次.

如何实施这样的解决方案?

Google Guava的速率限制器适用于在单个机箱上运行的进程,但不适用于分布式设置.

JAVA有哪些标准的,随时可用的解决方案?[可能基于zookeeper]

谢谢!

distributed-computing rate-limiting guava apache-zookeeper apache-curator

14
推荐指数
2
解决办法
7162
查看次数

从java程序启动zookeeper服务器的最佳方法

我有两个问题,我找不到任何受欢迎/广泛接受的解决方案:

  1. 使用Java程序启动zookeeper服务器的最简单方法是什么?

  2. 并且,是否可以将服务器添加到zookeeper集群,而无需手动转到每台计算机并使用新节点的id和ip:port条目更新其配置文件?

有人可以帮忙吗?谢谢!

java apache-zookeeper

6
推荐指数
1
解决办法
2925
查看次数

如何使用 PowerMockito 捕获构造函数参数

class A {
   public B getB(){
      // somehow get argType1 and argType2
      return new B(argType1, argType2);
   }
}

class B{
   public B(Type1 t1, Type2 t2){
     // something
   }
}
Run Code Online (Sandbox Code Playgroud)

我想测试A,并验证该构造函数B获取调用为预期值argType1argType2

我如何使用 PowerMockito 做到这一点?

有没有办法像这样传递argumentCaptor:

whenNew(B.class).withArguments(argType1Captor, argType2Captor).thenReturn(somemock);
Run Code Online (Sandbox Code Playgroud)

如果这样做,则argType1Captor获得两个值

junit mockito powermock powermockito

3
推荐指数
1
解决办法
4646
查看次数