为什么解析器线程不会在apache Felix中关闭

Mar*_*fia 5 osgi resolver threadpool apache-felix

我正在尝试将Felix嵌入嵌入式Tomcat中.一切正常.但是,当关闭Felix框架(已部署SCR,cm,事件管理和元类型服务)时,它将为我提供框架关闭事件.但是线程在ResolveImpl执行器中仍然存在.

所以我有一堆"FelixResolver-"线程仍悬空.我不能强制关闭线程,因为它们属于执行程序.

关机顺序:

framework.stop();
final FrameworkEvent fe = framework.waitForStop(wait);
Run Code Online (Sandbox Code Playgroud)

我明白了

fe.getType() == FrameworkEvent.STOPPED.
Run Code Online (Sandbox Code Playgroud)

Felix Framework是'org.apache.felix.framework-5.6.1.jar'

我正在使用以下felix包:

  • org.apache.felix.configadmin-1.8.14.jar
  • org.apache.felix.eventadmin-1.4.8.jar
  • org.apache.felix.log-1.0.1.jar
  • org.apache.felix.metatype-1.1.2.jar
  • org.apache.felix.scr.compat-1.0.4.jar
  • org.apache.felix.scr-2.0.8.jar

我手动安装并启动捆绑包.我没有停止捆绑,而是使用上面的方法停止框架捆绑.

安装顺序(安装后的启动顺序相同​​):

  • org.apache.felix.configadmin [版本1.8.14]
  • org.apache.felix.eventadmin [版本1.4.8]
  • org.apache.felix.log [版本1.0.1]
  • org.apache.felix.metatype [版本1.1.2]
  • org.apache.felix.scr [版本2.0.8]
  • org.apache.felix.scr.compat [版本1.0.4]

我究竟做错了什么?

干杯,马里奥

编辑1:

我已升级到felix框架5.6.2,但问题仍然存在.