有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在Spring云数据流中注册应用程序?

我从Spring Cloud DataFlow开始,通过Docker Compose运行了一个实例,并使用示例应用程序成功创建了

我自己编写了一个源程序和一个接收器应用程序,无法将它们注册到SCDF仪表板中

enter image description here

我尝试了maven://file:///地址,但由于仪表板运行在Docker容器中,我想问题在于它无法访问本地地址。m2存储库,也不连接到JAR所在的本地文件系统

我应该如何继续?我应该通过Docker Compose映射文件系统还是什么


共 (2) 个答案

  1. # 1 楼答案

    以下是数据流文档中完整的官方答案:Accessing the Host File System

    请注意,您需要将完全相同的卷装载到两个dataflow-server

    dataflow-server:
      # ...
      volumes:
         - /home/MY_USER_NAME/.m2:/home/cnb/.m2
    

    以及{}:

    skipper-server:
      # ...
      volumes:
         - /home/MY_USER_NAME/.m2:/home/cnb/.m2
    

    Note: Starting with DataFlow 2.8.0+ and Skipper 2.7.1+ the in-container mount paths had changed from /root/.m2 to /home/cnb/.m2/ instead.

  2. # 2 楼答案

    好的,所以问题恰恰是这样

    我在这里报道@SabbyAnandan评论(评论没有历史,这是一个有意义的评论)

    Thanks for reporting this. We haven't explored this option yet, but I have spring-cloud/spring-cloud-dataflow#2286, and we will look into it soon.

    In the meantime, maybe you could explore the option described in this thread. Possibly also contribute it back to the project, if you're successful with it. :)

    在等待自动解决方案时,现在只需在docker-compose.yml中添加以下行即可:

    # ... stuff ...
    dataflow-server:
    # ... stuff ....
      volumes:
        - /home/MY_USER_NAME/.m2:/root/.m2
    

    这样,我们就可以通过Maven表单中的UI加载工件:

    maven://com.foo.bar:my-source:jar:0.0.1-SNAPSHOT
    

    (假设我们已经运行了mvn clean install将工件安装到运行Docker Compose的同一系统的.m2存储库中,该存储库不一定是我们的,但可能是远程的)