Apache Camel :在Coldfusion应用程序中使用jar时出现NoTypeConversionAvailableException

bq3bfh9z  于 2022-11-07  发布在  Apache
关注(0)|答案(1)|浏览(125)

我正在尝试将Camel集成到Coldfusion应用程序中。
我正在使用一个maven项目来解析依赖关系,然后我用dependency:copy-dependencies maven任务复制它。
它或多或少地工作,但我有一些问题与一些参数,特别是与“延迟”参数,例如当使用“计时器”或“pop3”端点。
我得到的错误是s
没有类型转换器可用于从类型转换:将java.lang.String转换为所需的类型:值为60000的java.time.持续时间
我阅读到一些关于
类型转换器加载程序
https://github.com/apache/camel/blob/main/docs/user-manual/modules/ROOT/pages/type-converter.adoc
但在使用脂肪罐时,这通常被认为是一个问题,但在这里,我使用的是颗粒罐。
可能是与Coldfusion类加载器相关的问题吗?
我能查什么?

zsbz8rwp

zsbz8rwp1#

我使用官方的prepare-fatjar Maven插件解决了这个问题。

<build>
    <plugins>
      <plugin>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-maven-plugin</artifactId>
        <version>${camel.version}</version>
        <executions>
          <execution>
            <goals>
              <goal>prepare-fatjar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
</build>

此插件创建一个UberTypeConverterLoader文件,附加选定Camel依赖项中的所有转换器。

在我的例子中,我并没有真正创建一个脂肪罐;我仍然在一个lib文件夹中复制所有依赖项,并在另一个应用程序中使用它们(我使用Maven主要是为了解决依赖项问题,说来话长...)。
但是我仍然在发布一个项目jar,所以UberTypeConverterLoader是通过这个自定义jar发布的。
现在,我的“计时器”示例似乎工作得很好,有了“延迟”选项和一切。

相关问题