小编Jos*_*non的帖子

没有“到”端点的 Apache Camel 路由

我正在使用 Apache Camel 来协助捕获第三方软件包发出的消息数据。在这个特定的例子中,我只需要捕捉软件产生的东西,另一端没有接收器(真的没有“端”去)。

因此,我尝试设置一条只有“from”端点而没有“to”端点的路由。显然这是不正确的用法,因为我收到以下异常:

[2018-08-15 11:08:03.205] ERROR: string.Launcher:191 - Exception
org.apache.camel.FailedToCreateRouteException: Failed to create route route1 at: >>> From[mina:udp://localhost:9877?sync=false] <<< in route: Route(route1)[[From[mina:udp://localhost:9877?sync=false]] -... because of Route route1 has no output processors. You need to add outputs to the route such as to("log:foo").
    at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:1063)
    at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:196)
    at org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:974)
    at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:3301)
    at org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:3024)
    at org.apache.camel.impl.DefaultCamelContext.access$000(DefaultCamelContext.java:175)
    at org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:2854)
    at org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:2850)
    at org.apache.camel.impl.DefaultCamelContext.doWithDefinedClassLoader(DefaultCamelContext.java:2873)
    at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:2850)
    at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
    at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:2819)
    at {removed}.Launcher.startCamel(Launcher.java:189)
    at {removed}.Launcher.main(Launcher.java:125)
Caused by: java.lang.IllegalArgumentException: Route route1 has no output …
Run Code Online (Sandbox Code Playgroud)

apache-camel

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

无法跳过 spring-boot-maven-plugin 的重新打包目标

我有一个多模块 Maven 项目,其中包含一个由多个 Spring Boot 服务组成的应用程序。我正在尝试为服务设置集成和端到端测试,并且正在使用组合 Maven 插件来进行协调。

我有一个模块,旨在仅包含对执行某些工作的协作服务组的端到端测试。它只包含测试代码和资源。我正在使用故障安全插件 ( org.apache.maven.plugins:maven-failsafe-plugin) 来执行集成测试,使用 Spring Boot Maven 插件 ( org.springframework.boot:spring-boot-maven-plugin) 来启动和停止“主要”服务,并使用 Maven exec 插件 ( org.codehaus.mojo:exec-maven-plugin) 来启动最后正在使用的其他服务- 端到端测试。

我遇到了一个似乎与repackageSpring Boot 插件的目标有关的问题。e2e 模块没有什么需要重新打包的,所以我想跳过这个目标。应该不会太难吧?

      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>repackage</goal>
            </goals>
            <configuration>
              <skip>true</skip>
            </configuration>
          <execution>
          ...
Run Code Online (Sandbox Code Playgroud)

嗯,这行不通。尽管如此,它仍然运行重新打包。

问题在于 Maven 构建失败,因为它找不到要重新打包的“主”类(我相信作为可执行 jar)。那么,有这个模块没有主类。

更重要的问题是:为什么会<skip>true</skip>被忽视?

maven-2 spring-boot-maven-plugin

4
推荐指数
1
解决办法
850
查看次数