Pierre Villard created NIFI-6961:
------------------------------------
Summary: ExtractEmailHeaders does not work with Java 11
Key: NIFI-6961
URL: https://issues.apache.org/jira/browse/NIFI-6961
Project: Apache NiFi
Issue Type: Bug
Components: Extensions
Affects Versions: 1.10.0
Reporter: Pierre Villard
Reported on Slack channel:
2019-12-19 21:16:28,225 ERROR [Timer-Driven Process Thread-22]
o.a.n.p.email.ExtractEmailHeaders
ExtractEmailHeaders[id=1f93582d-016f-1000-0000-00004cb581ad]
ExtractEmailHeaders[id=1f93582d-016f-1000-0000-00004cb581ad] failed to
process session due to java.lang.NoClassDefFoundError:
com/sun/activation/registries/LogSupport; Processor Administratively Yielded
for 1 sec: java.lang.NoClassDefFoundError:
com/sun/activation/registries/LogSupport
2949 java.lang.NoClassDefFoundError: com/sun/activation/registries/LogSupport
2950 at
javax.activation.MailcapCommandMap.<init>(MailcapCommandMap.java:179)
2951 at
javax.activation.CommandMap.getDefaultCommandMap(CommandMap.java:85)
2952 at
javax.activation.DataHandler.getCommandMap(DataHandler.java:167)
2953 at
javax.activation.DataHandler.getDataContentHandler(DataHandler.java:626)
2954 at javax.activation.DataHandler.getContent(DataHandler.java:554)
2955 at
javax.mail.internet.MimeMessage.getContent(MimeMessage.java:1454)
2956 at
org.apache.commons.mail.util.MimeMessageParser.parse(MimeMessageParser.java:194)
2957 at
org.apache.commons.mail.util.MimeMessageParser.parse(MimeMessageParser.java:95)
2958 at
org.apache.nifi.processors.email.ExtractEmailHeaders$1.process(ExtractEmailHeaders.java:173)
2959 at
org.apache.nifi.controller.repository.StandardProcessSession.read(StandardProcessSession.java:2315)
2960 at
org.apache.nifi.controller.repository.StandardProcessSession.read(StandardProcessSession.java:2283)
2961 at
org.apache.nifi.processors.email.ExtractEmailHeaders.onTrigger(ExtractEmailHeaders.java:165)
2962 at
org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
2963 at
org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1176)
2964 at
org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:213)
2965 at
org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:117)
2966 at org.apache.nifi.engine.FlowEngine$2.run(FlowEngine.java:110)
2967 at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
2968 at
java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
2969 at
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
2970 at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
2971 at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
2972 at java.base/java.lang.Thread.run(Thread.java:834)
2973 2019-12-19 21:16:28,225 WARN [Timer-Driven Process Thread-22]
o.a.n.controller.tasks.ConnectableTask Administratively Yielding
ExtractEmailHeaders[id=1f93582d-016f-1000-0000-00004cb581ad] due to uncaught
Exception: java.lang.NoCl assDefFoundError:
com/sun/activation/registries/LogSupport
2974 java.lang.NoClassDefFoundError: com/sun/activation/registries/LogSupport
2975 at
javax.activation.MailcapCommandMap.<init>(MailcapCommandMap.java:179)
2976 at
javax.activation.CommandMap.getDefaultCommandMap(CommandMap.java:85)
2977 at
javax.activation.DataHandler.getCommandMap(DataHandler.java:167)
2978 at
javax.activation.DataHandler.getDataContentHandler(DataHandler.java:626)
2979 at javax.activation.DataHandler.getContent(DataHandler.java:554)
2980 at
javax.mail.internet.MimeMessage.getContent(MimeMessage.java:1454)
2981 at
org.apache.commons.mail.util.MimeMessageParser.parse(MimeMessageParser.java:194)
2982 at
org.apache.commons.mail.util.MimeMessageParser.parse(MimeMessageParser.java:95)
2983 at
org.apache.nifi.processors.email.ExtractEmailHeaders$1.process(ExtractEmailHeaders.java:173)
2984 at
org.apache.nifi.controller.repository.StandardProcessSession.read(StandardProcessSession.java:2315)
2985 at
org.apache.nifi.controller.repository.StandardProcessSession.read(StandardProcessSession.java:2283)
2986 at
org.apache.nifi.processors.email.ExtractEmailHeaders.onTrigger(ExtractEmailHeaders.java:165)
2987 at
org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
2988 at
org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1176)
2989 at
org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:213)
2990 at
org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:117)
2991 at org.apache.nifi.engine.FlowEngine$2.run(FlowEngine.java:110)
2992 at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
2993 at
java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
2994 at
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
2995 at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
2996 at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
2997 at java.base/java.lang.Thread.run(Thread.java:834)
Found some mentions about the issue on the internet:
[https://issues.openbravo.com/view.php?id=39576]
| It was not possible because mail libraries relies on some classes that were
in hidden modules by default starting from JDK 10 and completelly reomved in
11.
Fixed by replacing javax.activation-api-1.2.0 by javax.activation-1.2.0
(com.sun.activation:javax.activation).
Note javax.activation-api is not purely an API but it also includes
implementation
for classes in javax.activation package (which was included in previous JDKs)
but it depends on classes in com.sun.activation which have also been removed
from JDK and not included in activation-api jar but yes in activation one.
The contents of javax.activation package are identicall in both jars.
Note also javax.mail-1.6.1 depends on activation-1.1
(javax.activation:activation)
to manage MIME data, that version was released in 2009; newer
javax.activation-1.2.0
(2017) has same API including new fixes.|
--
This message was sent by Atlassian Jira
(v8.3.4#803005)