Apache Camel 3.17 Adoptium JDK 17错误IllegalAccessError:无法从javax.activation.MailcapCommandMap类访问类注册表.LogSupport

az31mfrm  于 2023-03-29  发布在  Apache
关注(0)|答案(1)|浏览(165)

我已经将Camel 3.20迁移到JDK 17 Adoptium。
当在路由开始处调用“.unmarshal().mimeMultipart()”时,出现以下错误。我正在慢慢地耗尽想法。
堆栈跟踪:
2023-03-21 10:18:24,915 [http-nio-8080-exec-303]错误组织。apache。camel。处理器。错误处理程序。默认错误处理程序-(消息ID:ExchangeId上的946 A7 B8039 EA 3B 9 - 000000000000 D 0:946 A7 B8039 EA 3B 9 - 0000000000000 D 0)。尝试交付后耗尽:1 caught:org.apache.camel.CamelExecutionException:在exchange上执行时发生异常:交换[946 A7 B8039 EA 3B 9 - 0000000000000 D 0],故障处理人处理:FatalFallbackErrorHandler[null]

消息历史(源位置和消息历史不可用)

源ID处理器从[servlet:/blobstore/upload?httpMethodRestrict= 424647475]经过的时间(毫秒)route 100/route 100

Stacktrace

org.apache.camel.CamelExecutionException:在exchange上执行时发生异常:

`Exchange[946A7B8039EA3B9-00000000000000D0]
    at org.apache.camel.CamelExecutionException.wrapCamelExecutionException(CamelExecutionException.java:45)
    at org.apache.camel.support.AbstractExchange.setException(AbstractExchange.java:597)
    at org.apache.camel.support.DefaultExchange.setException(DefaultExchange.java:27)
    at org.apache.camel.support.processor.UnmarshalProcessor.process(UnmarshalProcessor.java:94)
    at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:818)
    at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:726)
    at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:181)
    at org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:59)
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:165)
    at org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:392)
    at org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:83)
    at org.apache.camel.support.AsyncProcessorSupport.process(AsyncProcessorSupport.java:41)
    at org.apache.camel.http.common.CamelServlet.doExecute(CamelServlet.java:319)
    at org.apache.camel.http.common.CamelServlet.doService(CamelServlet.java:214)
    at org.apache.camel.http.common.CamelServlet.service(CamelServlet.java:130)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at de.ongeo.camel.filter.VersionInfoFilter.doFilter(VersionInfoFilter.java:59)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:126)
    at org.springframework.boot.web.servlet.support.ErrorPageFilter.access$000(ErrorPageFilter.java:64)
    at org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:101)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
    at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:119)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:367)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:639)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:881)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1647)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
    at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.IllegalAccessError: failed to access class com.sun.activation.registries.LogSupport from class javax.activation.MailcapCommandMap (com.sun.activation.registries.LogSupport and javax.activation.MailcapCommandMap are in unnamed module of loader org.apache.catalina.loader.ParallelWebappClassLoader @69abfa3c)
    at javax.activation.MailcapCommandMap.<init>(MailcapCommandMap.java:149)
    at javax.activation.CommandMap.getDefaultCommandMap(CommandMap.java:55)
    at javax.activation.DataHandler.getCommandMap(DataHandler.java:137)
    at javax.activation.DataHandler.getDataContentHandler(DataHandler.java:596)
    at javax.activation.DataHandler.getContent(DataHandler.java:524)
    at org.apache.camel.dataformat.mime.multipart.MimeMultipartDataFormat.unmarshal(MimeMultipartDataFormat.java:254)
    at org.apache.camel.support.processor.UnmarshalProcessor.process(UnmarshalProcessor.java:76)
    ... 56 common frames omitted`
  • 迁移到Camel 3.20.2 * 使用Adoptium提供的最新JDK 17 * 试验实施组提供的依赖项:'com.sun. activation',名称:'jakarta. activation',版本:“2.0.1”实现组:'jakarta. activation',名称:'jakarta. activation-api',版本:“2.1.1”
r1zk6ea1

r1zk6ea11#

您需要Camel 4来支持Java 17和Jakarta EE。
Camel 3.x是Java 11,不兼容Jakarta EE(它唯一的javax)

相关问题