我正在尝试让自定义任务在默认的 docker 映像中工作。基本上我用的是这个
https://github.com/hbelmiro/jbpm-work-item-handler-demo
项目将版本调整为7.73.final。然后我运行 maven install 并通过 UI 中的“设置”->“添加自定义任务”上传自定义任务,并将其设置为“打开”
此后,我在我的空间中的“设置”->“自定义任务”下安装了自定义任务,并使用“从存储库添加”在“依赖项”下添加了依赖项。当我现在想使用“部署”按钮进行部署时,出现异常错误 [org.kie.scanner.MavenClassLoaderResolver] (默认任务 30) 未找到依赖项工件:de.piu.datenhaus:addressvalidation:1.1
这是我上传的 JAR 文件,也是我实际的自定义任务(工作项处理程序)
我该如何解决这个问题?我在文档或谷歌搜索中没有发现任何与此相关的内容。
这就是自定义任务资产首选项的样子:
[
[
"name" : "DatenhausAddressSignature",
"displayName" : "DatenhausAddressSignature",
"category" : "addressvalidation",
"description" : "",
"defaultHandler" : "mvel: new de.piu.datenhaus.addressvalidation.DatenhausAddressSignatureWorkItemHandler()",
"documentation" : "addressvalidation/index.html",
"parameters" : [
"DatenhausAddress" : new StringDataType()
],
"results" : [
"DatenhausAddressSignature" : new StringDataType()
],
"mavenDependencies" : [
"de.piu.datenhaus:addressvalidation:1.1"
],
"icon" : "DatenhausAddressSignatureWorkItemHandler.png"
]
]
完整的堆栈跟踪是
12:19:59,170 INFO [io.jaegertracing.internal.reporters.RemoteReporter] (jaeger.RemoteReporter-QueueProcessor) FlushCommand is working again!
12:20:07,654 INFO [stdout] (default task-30) [WARNING] The POM for de.piu.datenhaus:addressvalidation:jar:1.1 is missing, no dependency information available
12:20:08,471 WARN [org.appformer.maven.integration.MavenRepository] (default task-30) Unable to resolve artifact: de.piu.datenhaus:addressvalidation:1.1
12:20:08,765 WARN [org.appformer.maven.integration.MavenRepository] (default task-30) Unable to resolve artifact: de.piu.datenhaus:addressvalidation:pom:1.1
12:20:08,972 WARN [org.appformer.maven.integration.MavenRepository] (default task-30) Unable to resolve artifact: de.piu.datenhaus:addressvalidation:1.1
12:20:08,972 ERROR [org.kie.scanner.MavenClassLoaderResolver] (default task-30) Dependency artifact not found for: de.piu.datenhaus:addressvalidation:1.1
12:20:09,356 WARN [io.jaegertracing.internal.reporters.RemoteReporter] (jaeger.RemoteReporter-QueueProcessor) FlushCommand execution failed! Repeated errors of this command will not be logged.: io.jaegertracing.internal.exceptions.SenderException: Failed to flush spans.
at [email protected]//io.jaegertracing.thrift.internal.senders.ThriftSender.flush(ThriftSender.java:115)
at [email protected]//io.jaegertracing.internal.reporters.RemoteReporter$FlushCommand.execute(RemoteReporter.java:160)
at [email protected]//io.jaegertracing.internal.reporters.RemoteReporter$QueueProcessor.run(RemoteReporter.java:182)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: io.jaegertracing.internal.exceptions.SenderException: Could not send 1 spans
at [email protected]//io.jaegertracing.thrift.internal.senders.UdpSender.send(UdpSender.java:85)
at [email protected]//io.jaegertracing.thrift.internal.senders.ThriftSender.flush(ThriftSender.java:113)
... 3 more
Caused by: org.apache.thrift.transport.TTransportException: Cannot flush closed transport
at [email protected]//io.jaegertracing.thrift.internal.reporters.protocols.ThriftUdpTransport.flush(ThriftUdpTransport.java:148)
at [email protected]//org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:73)
at [email protected]//org.apache.thrift.TServiceClient.sendBaseOneway(TServiceClient.java:66)
at [email protected]//io.jaegertracing.agent.thrift.Agent$Client.send_emitBatch(Agent.java:70)
at [email protected]//io.jaegertracing.agent.thrift.Agent$Client.emitBatch(Agent.java:63)
at [email protected]//io.jaegertracing.thrift.internal.senders.UdpSender.send(UdpSender.java:83)
... 4 more
Caused by: java.net.PortUnreachableException: ICMP Port Unreachable
at java.base/java.net.PlainDatagramSocketImpl.send(Native Method)
at java.base/java.net.DatagramSocket.send(DatagramSocket.java:695)
at [email protected]//io.jaegertracing.thrift.internal.reporters.protocols.ThriftUdpTransport.flush(ThriftUdpTransport.java:146)
... 9 more 12:20:10,359 INFO [io.jaegertracing.internal.reporters.RemoteReporter] (jaeger.RemoteReporter-QueueProcessor) FlushCommand is working again!
可以通过将 -SNAPSHOT 添加到 pom.xml 中的版本标记来解决此问题。我什至在使用安装程序安装的全新安装上尝试过此操作,当我不将 -SNAPSHOT 附加到版本时,出现了相同的错误。
这很奇怪,我不知道如何或在哪里进一步追踪这个问题。也许其他人有额外的解释
进一步发现只有当项目使用java 1.8版本构建时才会发生