小编Gay*_*tri的帖子

没有启用检查点的数据接收器的 Flink 管道

我正在研究构建一个没有数据接收器的 flink 管道。即,当我的管道成功对数据存储进行 api 调用时,它就会结束。

在这种情况下,如果我们不使用接收器运算符,检查点将如何工作?

因为检查点基于检查点前纪元(所有保存在状态中或发送到接收器中的事件)和检查点后纪元的概念。Flink 管道是否需要接收器?

apache-flink flink-streaming

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

静态和实例方法的同步

我对同步实例方法和静态方法很困惑.我想写一个线程安全类如下:

public class safe {

  private final static ConcurrentLinkedQueue<Object> objectList=
      new ConcurrentLinkedQueue<Object>();

  /**
   * retrieves the head of the object and prints it
   */
    public synchronized static  void getHeadObject() {
      System.out.println(objectList.peek().toString());

    }

    /**
     * creates a new object and stores in the list.
     */
    public synchronized void addObject() {
      Object obj=new Object();
      objectList.add(obj);

    }
}
Run Code Online (Sandbox Code Playgroud)

在静态方法上同步将锁定safe.class锁,并且在实例方法上进行同步将锁定此问题,因此将达到不一致的状态.

如果我想为下面的代码片段实现一致状态,那么如何实现呢?

java thread-safety

5
推荐指数
1
解决办法
1238
查看次数

是否可以在docker中运行目标构建阶段而无需运行所有先前的构建阶段

我是Docker的新手,正在尝试探索多阶段构建。我想在Docker上运行特定阶段docker build -t build-stage-tag --target build

我希望它可以运行以下阶段dependencies --> compile --> build并跳过test。但是碰巧它也运行测试阶段。

让我知道我对多阶段构建的理解--target是错误的还是我的docker文件中存在一些错误。

我想做的是运行build舞台而不运行,test反之亦然。

这是我的Dockerfile的外观:

# Pull base image
FROM openjdk:8u171 as dependencies

# Install Scala
## Piping curl directly in tar
// do some stuff

# Copy source into container
COPY . /usr/src/app

FROM dependencies as compile
WORKDIR /usr/src/app
# Test and build the jar in the same step to save time
RUN sbt -Dsbt.log.noformat=true compile
RUN sbt -Dsbt.log.noformat=true …
Run Code Online (Sandbox Code Playgroud)

docker dockerfile docker-multi-stage-build

5
推荐指数
1
解决办法
366
查看次数