【问题标题】:JavaMail not working in OSGI(ServiceMix/Karaf)JavaMail 在 OSGI 中不起作用(ServiceMix/Karaf)
【发布时间】:2018-10-01 03:37:18
【问题描述】:

我在 Service Mix(7.0.1) 上创建了一个 Karaf 实例并将我的包部署到其中。

骆驼路由正常启动,但当它应该发送电子邮件时总是失败。

以下例外:

javax.activation.UnsupportedDataTypeException: no object DCH for MIME type multipart/mixed;

我尝试了几种从网络上不同来源找到的解决方案,但实际上无法修复它。

我尝试在实例的 jre.properties 文件中将 javax.activation 注释掉,并在同一功能中使用包含 java 邮件和激活包的 osgi 友好版本的包。

openJDK 会是个问题吗?

注意:在 windows/oraclejdk 环境下一切正常,异常只发生在 linux/openjdk 环境中。

【问题讨论】:

  • 它在 Linux / Oracle JDK 中工作吗?
  • 这就是我接下来要尝试的方法
  • 这也不起作用,所以罪魁祸首不是openjdk。
  • 谢谢..你能提供一个示例项目吗?这可能是骆驼的一个错误
  • 这个问题实际上与类加载器问题有关,我今天修复了它。我不完全确定为什么不需要在 windows 环境中应用此修复程序。

标签: apache-camel osgi apache-karaf


【解决方案1】:

毕竟,我的问题源于类加载器问题,我通过将 javax.mail/mail/1.4.7 和 org.apache.servicemix.specs.activation-api-1.1/2.8.0 捆绑在同一个包中来修复它.

我还需要从子实例的 jre.properties 和 config.properties 文件中删除所有出现的 javax.activation。

我不确定为什么它会在不同的环境中默认运行,因为理论上应该也会出现相同的类加载器问题,但这可能与正在使用的不同 JRE 有关。

【讨论】:

    猜你喜欢
    • 2016-06-08
    • 2013-04-08
    • 2011-10-19
    • 1970-01-01
    • 1970-01-01
    • 2017-06-15
    • 2015-07-08
    • 2016-06-08
    • 2015-07-02
    相关资源
    最近更新 更多