Java提升营

Create a topic

Let’s create a topic named “test” with a single partition and only one replica:

1
> bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test
阅读全文 »

关键要点:

  • RxJava 含有内建的、测试友好的解决方案。
  • 使用 TestSubscriber 去验证 Observable。
  • 使用 TestScheduler 可实现对时间的严格控制。
  • Awaitility 库提供了对测试环境进一步的控制。

使用响应式编程,就必须转变对给定问题的推理方式,因为我们要聚焦于作为事件流的流动数据,而非个别数据项。事件通常是被不同的线程所产生和消费,因此在编写测试时必须要对并发问题有着清晰的认识。幸运的是,RxJava 提供了测试 ObservableSubscription 的内建支持,并且是直接构建于 RxJava 的核心依赖中。

阅读全文 »

要点

  • 响应式编程是一种处理异步数据流的规范
  • 响应式为数据流的转换和聚合以及数据流的控制管理提供了工具支持
  • 弹珠交互图(Marble Diagram)以可交互的方式可视化响应式的结构
  • 响应式编程风格看起来跟 Java Streams API 有点相似,不过本质上是不一样的
  • 如何连接到动态流处理异步数据源
    阅读全文 »

Generate openssl key

1
ssh-keygen -t rsa -b 2048 -C "devg@nroad.com.cn" -f mars-jwt-rs256.key

Generate certificate

1
openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 3650 -out certificate.pem -key mars-jwt-rs256.key

Export private key and certificate to pkcs12 key store

1
openssl pkcs12 -export -name mars-jwt-cert -in certificate.pem -inkey mars-jwt-rs256.key -out mars-jwt-rs256.p12

Import from pkcs12 keystore to java key store

1
keytool --importkeystore --destkeystore mars.jks -srckeystore mars-jwt-rs256.p12 -srcstoretype pkcs12 -alias mars-jwt-cert

(Optional) Convert imported java keystore to pkcs12 type

1
keytool -importkeystore -srckeystore mars.jks -destkeystore mars.jks -deststoretype pkcs12

Export public key from private key

1
openssl rsa  -pubout -in mars-jwt-rs256.key > mars-jwt.pub