spring - 如何在 Spring Boot 中访问 TomcatEmbeddedWebappClassLoader
问题描述
我正在使用 jar 客户端连接到一个非常古老的 EJB2.1 应用程序,例如 2006 年。我已经构建了一个使用这个 jar 客户端并调用它的外观方法的 spring boot 2 应用程序。当客户端的一个方法调用正常而另一个方法调用失败时,我遇到了非常奇怪的行为java.io.StreamCorruptedException: invalid type code: 00
。我发现一个有效是因为它是从控制器(不是直接)执行的,而第二个是因为它是通过 JMS 消息调用的。现在 JMS 消息调用使用上下文 classloader 运行(线程)sun.misc.Launcher$AppClassLoader
,而 MVC 使用TomcatEmbeddedWebappClassLoader
(具有 parent sun.misc.Launcher$AppClassLoader
)运行。由于这是一个非常老的客户端的包装器,我想我可以在 JMS 调用中交换类加载器。
但是(这是实际问题)有没有办法TomcatEmbeddedWebappClassLoader
在 spring 上下文初始化期间访问我的应用程序,以便我也可以从我的 JMS 调用中设置它?
解决方案
推荐阅读
- python - 如何在 numpy ndArray 中插入值?
- r - R将XML(复杂结构)转换为数据框
- angular - 如何在 Angular 中获取订阅的元素
- phpstorm - 在 PhpStorm 中搜索实时模板
- javascript - 如何使用 ejs 和 node 制作模态框
- swift - 如何从 Swift 中的不同类调用函数?
- android - XING - 如何在 iOS 上的 Android 上进行深度链接?
- linux - 如何使用文件名中的通配符从 chown 递归中排除文件?
- linux - 循环内部中断的奇怪行为
- reflection - “控制器不存在。反思失败。” TYPO3 v2