当前位置: 首页 > 知识库问答 >
问题:

spring cloud starter:流处理器tasklaunchrequest转换忽略本地maven设置

葛飞扬
2023-03-14

在我的云流应用程序中,我使用了spring-cloud d-starter-stream-处理机-task发射请求-转换starter应用程序作为任务处理器。

starter在本地构建并安装在本地Maven存储库中。

用于启动本地Dataflow Server和DF Shell,然后注册我的应用程序并创建和部署流的命令如下:-

>

构建数据流服务器本地-mvn清理包(将remoteRepo位置更改为我们的企业maven repo)

在本地启动DF服务器-mvn spring boot:运行

构建数据流Shell-mvn清理包

启动DF外壳-<代码>mvn spring boot:运行

使用Rabbit绑定导入开箱即用的初学者应用程序stream-应用程序-Rabit-maven

注册应用程序-

  1. <代码>应用程序寄存器--名称任务处理器--类型处理器--urimaven://org.springframework.cloud.stream.app:spring-cloud starter流处理器tasklaunchrequest转换:jar:1.1.0。构建快照

创建流-<代码>流创建foo--定义“rabbit--rabbit.queues=云流源--rabbit.requeue=true--spring.rabbitmq.host=localhost--spring.rabbitmq.port=5672--spring.cloud.Stream.bindings.output.contentType='text/plain';任务处理器--uri=maven://com.example:thumbnail-生成器:0.0.1-快照|任务启动器本地”--部署

但是,由于任务处理器的启动失败,流的部署失败。记录在处理器日志中的错误是:

没有主清单属性,在 /Users/abc/.m2/repository/org/springframework/cloud/stream/app/spring-cloud-starter-stream-processor-tasklaunchrequest-transform/1.1.0.BUILD-SNAPSHOT/spring-cloud d-starter-Stream-处理机-taskLaunchRequest est-transform-1.1.0。BUILD-SNAPSHOT. jar

现在有2点要提:

  1. 日志中提到的maven repo位置是MacOS的默认位置,而不是我在本地maven配置中设置的位置(/用户/abc/myrepo/.m2/存储库)

我已经尝试将starter应用程序更改为可运行的spring boot应用程序,并在我的本地repo中安装了该版本,但除非该应用程序查看正确的本地repo(而不是默认的),否则我无法使用它。

我认为这是应用程序的问题,它缺乏本地maven设置的可见性,因此使用默认值。

任何输入都会有帮助。


共有1个答案

杜俊风
2023-03-14

注册应用程序-应用程序注册器--名称任务处理器--类型处理器--urimaven://io.spring.cloud:taskprocessor:jar:1.1.0.BUILD-快照

据此,您正在注册示例taskprocessor应用程序。虽然尝试它没有什么错,但我们建议使用标准化应用程序,如果其中缺少任何功能,请提交GH问题。

但是,由于任务处理器的启动失败,流的部署失败。

如果您实际上正在尝试使用标准化应用程序,您的应用程序注册命令应该类似于:

app register --name task-processor --type processor --uri maven://org.springframework.cloud.stream.app:tasklaunchrequest-transform-processor-rabbit:1.1.0.BUILD-SNAPSHOT  --force

日志中提到的maven repo位置是MacOS的默认位置,而不是我在本地maven配置中设置的位置(/用户/abc/myrepo/.m2/存储库)

SCDF使用Ether库来解析和下载maven工件。默认情况下,首先在本地maven存储库中检查请求的应用程序,如果不存在,则从远程存储库下载。这与其他maven工作流没有什么不同。

该错误对于starter app-spring云starter流处理器tasklaunchrequest转换的构建jar文件有效。如果我的流应用程序需要任何定制才能运行和使用它,这让我很困惑

OOTB应用程序是实用程序应用程序。在很大程度上,它们应该满足共同的要求。如果需要调整泛型行为,那么可以扩展它们。

话虽如此,也许您可以尝试通过java-jar运行本地构建的应用程序,以确认应用程序是否成功引导,然后将其注册到SCDF。您还可以在每个应用程序上启用调试级日志以进行故障排除。

 类似资料:
  • 问题内容: 我安装了OSX ,并随同安装了: 在将其设置为1.6时显示1.6,而在将其设置为1.7时显示1.7: …但是Maven忽略了我的设置: 我发现了这个问题],这个家伙只需要在内部对其进行硬编码,但是我不希望自己进行硬编码(因此!),而且我也没有或。 它使用的版本似乎来自输出中的第一个版本,因此在短期内,通过调整1.7的文件),我能够再次获得1.6 ,但这仅意味着我获得了1.6而不是1.7

  • 我安装了带有的OSX,并且刚刚安装了以及: 正在执行其任务,始终工作,当我将其设置为1.6时显示1.6,当我将其设置为1.7时显示1.7: ...但maven忽略了我的设置: 我发现了这样一个问题,那家伙只需要在中硬编码他的,但我不希望我的!,而且我没有,也没有。 它所使用的版本似乎是从输出的第一个版本开始的,所以在短期内,通过调整1.7的文件(从这篇so文章),我可以重新获得1.6,但这仅仅意味

  • 选项无效。 运行生成一个war目录,其中。class文件位于目录中,它们也不会存档到目录中的jar中。产生相同的结果。 JIRA票-https://issues.apache.org/JIRA/browse/mwar-355 这就是有问题的项目:https://bitbucket.org/dmos62/raudondvaris

  • 问题内容: 我有责任将我们的代码从sqlite切换到postgres。我遇到麻烦的查询之一复制到下面。 当有重复的记录时,就会出现此问题。在此表中,两个值的组合必须唯一。我在其他地方使用了一些plpgsql函数来执行更新或插入操作,但是在这种情况下,我可以一次执行多个插入操作。我不确定如何为此编写存储的例程。感谢您提供的所有sql专家的所有帮助! 问题答案: 有 3个 挑战。 您的查询在表和之间没

  • 我正在使用管理版本,ala PEP 440。 我已将几个版本上载到私有存储库: 我的问题是现在当我使用 我得到的版本是当我期望得到。 有没有办法让pip忽略“本地版本”,只安装准确的版本,而不必上传到不同的索引(即staging和stable)? 编辑: 我已尝试使用和标志,但问题仍然存在;皮普更喜欢0.0。2版本到0.0版本。2版本。 附加编辑: 我使用的是和python2.7