我有一个 OSGi 目标平台,其中包含 Equinox、Spring Framework、Spring DM 和几个适用于我的应用程序的自定义 bundle 。我的所有包都包含 Spring 应用程序上下文,因此由 Spring OSGi 扩展器自动加载。
我的一些包包含 Swing ui 组件。问题在于 Spring OSGi Extender 不会在 AWT EventQueue 上创建这些应用程序上下文,这会导致多个 ui 问题。
到目前为止我发现的唯一解决方法是为 spring-osgi-extender 创建一个片段包并配置“taskExecutor”,如提到的 here 。基本上,我的自定义taskExecutor 实现将所有execute() 调用转发到AWT EventQueue。这并不是一个真正好的解决方案,因为我的应用程序中所有由 Spring 驱动的包都将在 AWT 线程上创建,从而减慢了启动时的 ui 速度(并且基本上终止了我们的启动屏幕加载状态,因为它缺乏任何刷新)。
关于如何在 AWT EventQueue 上创建这些 Spring/Swing 包有什么想法吗?
最佳答案
我没有直接回答您的问题,但以下项目应该可以帮助您解决这个问题。 http://max-server.myftp.org/trac/pm
关于java - 如何使用 Spring DM 在 AWT EventQueue 上创建 Swing OSGi 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3561161/