使用blueprintextender调用停用/销毁方法的问题

问题描述

我正在使用Blueprint扩展器注入我的服务。停止Karaf容器时,不会调用蓝图的停用方法/销毁方法。我们正尝试在Karaf关闭过程中从文件删除一些条目/删除文件。 有人可以让我知道如何在Karaf关闭期间正确清理东西吗? 我尝试使用停用方法,destroy-method(在蓝图中)和SynchronousBundleListener。什么都没有解决

我浏览了该论坛并找到了一些链接,其中说蓝图扩展程序立即停止,并且没有等待捆绑事件。

http://karaf.922171.n3.nabble.com/RFC-on-proposal-to-allow-hooks-into-Karaf-shutdown-td4026953.html http://karaf.922171.n3.nabble.com/Karaf-shutdown-td4048646.html

Karaf版本:4.1.4 karaf中使用的蓝图版本:aries-blueprint 4.1.4 堆栈跟踪:

    2020-10-30T17:41:16.208+0100 | INFO  | Karaf Shutdown Socket Thread     | o.a.k.m.ShutdownSocketThread     | .karaf.main.ShutdownSocketThread  111 |  -  -  | Karaf shutdown socket: received shutdown command. Stopping framework...
2020-10-30T17:41:16.211+0100 | DEBUG | Framework stop                   | o.a.a.b.c.BlueprintExtender      | rint.container.BlueprintExtender  169 | 20 - org.apache.aries.blueprint.core - 1.8.3 | Stopping blueprint extender...
2020-10-30T17:41:16.215+0100 | DEBUG | Framework stop                   | o.a.a.b.core                     | ogback.internal.FrameworkHandler  171 | 20 - org.apache.aries.blueprint.core - 1.8.3 | ServiceEvent UNREGISTERING - {org.apache.aries.blueprint.services.ParserService}={service.id=41,service.bundleid=20,service.scope=singleton} - org.apache.aries.blueprint.core
2020-10-30T17:41:16.218+0100 | DEBUG | Framework stop                   | o.a.a.b.core                     | ogback.internal.FrameworkHandler  171 | 20 - org.apache.aries.blueprint.core - 1.8.3 | ServiceEvent UNREGISTERING - {org.apache.aries.blueprint.services.BlueprintExtenderService}={service.id=42,service.scope=singleton} - org.apache.aries.blueprint.core
2020-10-30T17:41:16.219+0100 | DEBUG | Framework stop                   | o.a.a.b.c.BlueprintExtender      | rint.container.BlueprintExtender  464 | 20 - org.apache.aries.blueprint.core - 1.8.3 | Usage for bundle org.apache.aries.blueprint.cm/1.1.0 is 9
2020-10-30T17:41:16.219+0100 | DEBUG | Framework stop                   | o.a.a.b.c.BlueprintExtender      | rint.container.BlueprintExtender  464 | 20 - org.apache.aries.blueprint.core - 1.8.3 | Usage for bundle org.apache.karaf.shell.core/4.1.4 is 9
2020-10-30T17:41:16.219+0100 | DEBUG | Framework stop                   | o.a.a.b.c.BlueprintExtender      | rint.container.BlueprintExtender  464 | 20 - org.apache.aries.blueprint.core - 1.8.3 | Usage for bundle com.java.test.pack.packager.event.ingestion/1.0.0 is 7
2020-10-30T17:41:16.219+0100 | DEBUG | Framework stop                   | o.a.a.b.c.BlueprintExtender      | rint.container.BlueprintExtender  464 | 20 - org.apache.aries.blueprint.core - 1.8.3 | Usage for bundle org.apache.aries.blueprint.core/1.8.3 is 17
2020-10-30T17:41:16.219+0100 | DEBUG | Framework stop                   | o.a.a.b.c.BlueprintExtender      | rint.container.BlueprintExtender  464 | 20 - org.apache.aries.blueprint.core - 1.8.3 | Usage for bundle org.apache.karaf.jaas.blueprint.config/4.1.4 is 5
2020-10-30T17:41:16.219+0100 | DEBUG | Framework stop                   | o.a.a.b.c.BlueprintExtender      | rint.container.BlueprintExtender  464 | 20 - org.apache.aries.blueprint.core - 1.8.3 | Usage for bundle org.apache.camel.camel-blueprint/2.25.0 is 4
2020-10-30T17:41:16.219+0100 | DEBUG | Framework stop                   | o.a.a.b.c.BlueprintExtender      | rint.container.BlueprintExtender  487 | 20 - org.apache.aries.blueprint.core - 1.8.3 | Currently selecting bundle org.apache.aries.blueprint.cm/1.1.0 for destroy (with reference {org.apache.aries.blueprint.NamespaceHandler}={osgi.service.blueprint.namespace=http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.2.0,service.id=62,osgi.service.blueprint.compname=CmNamespaceHandler,service.bundleid=19,service.scope=bundle})
2020-10-30T17:41:16.219+0100 | DEBUG | Framework stop                   | o.a.a.b.c.BlueprintExtender      | rint.container.BlueprintExtender  487 | 20 - org.apache.aries.blueprint.core - 1.8.3 | Currently selecting bundle org.apache.aries.blueprint.cm/1.1.0 for destroy (with reference {org.apache.aries.blueprint.NamespaceHandler}={osgi.service.blueprint.namespace=http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0,service.id=63,service.scope=bundle})
2020-10-30T17:41:16.220+0100 | DEBUG | Framework stop                   | o.a.a.b.c.BlueprintExtender      | rint.container.BlueprintExtender  487 | 20 - org.apache.aries.blueprint.core - 1.8.3 | Currently selecting bundle org.apache.aries.blueprint.cm/1.1.0 for destroy (with reference {org.apache.aries.blueprint.NamespaceHandler}={osgi.service.blueprint.namespace=http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0,service.id=64,service.scope=bundle})
2020-10-30T17:41:16.220+0100 | DEBUG | Framework stop                   | o.a.a.b.c.BlueprintExtender      | rint.container.BlueprintExtender  487 | 20 - org.apache.aries.blueprint.core - 1.8.3 | Currently selecting bundle org.apache.aries.blueprint.cm/1.1.0 for destroy (with reference {org.apache.aries.blueprint.NamespaceHandler}={osgi.service.blueprint.namespace=http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.3.0,service.id=65,service.scope=bundle})
2020-10-30T17:41:16.220+0100 | DEBUG | Framework stop                   | o.a.a.b.c.BlueprintExtender      | rint.container.BlueprintExtender  487 | 20 - org.apache.aries.blueprint.core - 1.8.3 | Currently selecting bundle org.apache.aries.blueprint.cm/1.1.0 for destroy (with reference {org.osgi.service.blueprint.container.BlueprintContainer}={osgi.blueprint.container.version=1.1.0,service.id=66,service.scope=singleton,osgi.blueprint.container.symbolicname=org.apache.aries.blueprint.cm})
2020-10-30T17:41:16.220+0100 | DEBUG | Framework stop                   | o.a.a.b.c.BlueprintExtender      | rint.container.BlueprintExtender  487 | 20 - org.apache.aries.blueprint.core - 1.8.3 | Currently selecting bundle org.apache.karaf.shell.core/4.1.4 for destroy (with reference {org.osgi.service.cm.ConfigurationListener}={service.id=131,service.bundleid=60,service.scope=singleton})
2020-10-30T17:41:16.220+0100 | DEBUG | Framework stop                   | o.a.a.b.c.BlueprintExtender      | rint.container.BlueprintExtender  487 | 20 - org.apache.aries.blueprint.core - 1.8.3 | Currently selecting bundle org.apache.karaf.shell.core/4.1.4 for destroy (with reference {org.apache.karaf.shell.api.console.SessionFactory}={service.id=132,service.scope=singleton})
2020-10-30T17:41:16.220+0100 | DEBUG | Framework stop                   | o.a.a.b.c.BlueprintExtender      | rint.container.BlueprintExtender  487 | 20 - org.apache.aries.blueprint.core - 1.8.3 | Currently selecting bundle org.apache.karaf.shell.core/4.1.4 for destroy (with reference {org.apache.aries.blueprint.NamespaceHandler}={osgi.service.blueprint.namespace=http://karaf.apache.org/xmlns/shell/v1.0.0,service.id=135,osgi.service.blueprint.compname=namespaceHandler,service.scope=bundle})
2020-10-30T17:41:16.220+0100 | DEBUG | Framework stop                   | o.a.a.b.c.BlueprintExtender      | rint.container.BlueprintExtender  487 | 20 - org.apache.aries.blueprint.core - 1.8.3 | Currently selecting bundle org.apache.karaf.shell.core/4.1.4 for destroy (with reference {org.apache.aries.blueprint.NamespaceHandler}={osgi.service.blueprint.namespace=http://karaf.apache.org/xmlns/shell/v1.1.0,service.id=136,service.scope=bundle})
2020-10-30T17:41:16.220+0100 | DEBUG | Framework stop                   | o.a.a.b.c.BlueprintExtender      | rint.container.BlueprintExtender  487 | 20 - org.apache.aries.blueprint.core - 1.8.3 | Currently selecting bundle org.apache.karaf.shell.core/4.1.4 for destroy (with reference {org.osgi.service.blueprint.container.BlueprintContainer}={osgi.blueprint.container.version=4.1.4,service.id=137,osgi.blueprint.container.symbolicname=org.apache.karaf.shell.core})
2020-10-30T17:41:16.220+0100 | DEBUG | Framework stop                   | o.a.a.b.c.BlueprintExtender      | rint.container.BlueprintExtender  487 | 20 - org.apache.aries.blueprint.core - 1.8.3 | Currently selecting bundle com.java.test.pack.packager.event.ingestion/1.0.0 for destroy (with reference {org.apache.karaf.bundle.core.BundleStateService}={service.id=348,service.bundleid=267,service.scope=singleton})
2020-10-30T17:41:16.220+0100 | DEBUG | Framework stop                   | o.a.a.b.c.BlueprintExtender      | rint.container.BlueprintExtender  487 | 20 - org.apache.aries.blueprint.core - 1.8.3 | Currently selecting bundle com.java.test.pack.packager.event.ingestion/1.0.0 for destroy (with reference {org.osgi.service.blueprint.container.BlueprintListener}={service.id=349,service.scope=singleton})
2020-10-30T17:41:16.220+0100 | DEBUG | Framework stop                                 ueprintExtender  487 | 20 - org.apache.aries.blueprint.core - 1.8.3 | Currently selecting bundle com.java.test.pack.packager.event.ingestion/1.0.0 for destroy (with reference {org.apache.camel.CamelContext}={service.id=355,camel.context.managementname=com.java.test.pack.packager.event.ingestion-camelcontext-0,camel.context.name=camelcontext-0,camel.context.symbolicname=com.java.test.pack.packager.event.ingestion,camel.context.version=1.0.0})
2020-10-30T17:41:16.221+0100 | DEBUG | Framework stop                   | o.a.a.b.c.BlueprintExtender      | rint.container.BlueprintExtender  496 | 20 - org.apache.aries.blueprint.core - 1.8.3 | Selected bundles [com.java.test.pack.packager.event.ingestion/1.0.0] for destroy (lowest ranking service)
2020-10-30T17:41:16.221+0100 | DEBUG | Framework stop                   | o.a.a.b.c.BlueprintExtender      | rint.container.BlueprintExtender  315 | 20 - org.apache.aries.blueprint.core - 1.8.3 | Starting BlueprintContainer destruction process for bundle com.java.test.pack.packager.event.ingestion/1.0.0
2020-10-30T17:41:16.221+0100 | DEBUG | Framework stop                   | o.a.a.b.c.BlueprintExtender      | rint.container.BlueprintExtender  320 | 20 - org.apache.aries.blueprint.core - 1.8.3 | Scheduling BlueprintContainer destruction for com.java.test.pack.packager.event.ingestion/1.0.0.
2020-10-30T17:41:16.222+0100 | DEBUG | Framework stop                   | o.a.a.b.c.BlueprintExtender      | rint.container.BlueprintExtender  345 | 20 - org.apache.aries.blueprint.core - 1.8.3 | Waiting for BlueprintContainer destruction for com.java.test.pack.packager.event.ingestion/1.0.0.
2020-10-30T17:41:16.222+0100 | INFO  | Framework stop                   | o.a.a.b.c.BlueprintExtender      | nt.container.BlueprintExtender$3  323 | 20 - org.apache.aries.blueprint.core - 1.8.3 | Destroying BlueprintContainer for bundle com.java.test.pack.packager.event.ingestion/1.0.0
2020-10-30T17:41:16.222+0100 | DEBUG | Framework stop                   | a.a.b.c.BlueprintEventdispatcher | ntainer.BlueprintEventdispatcher  136 | 20 - org.apache.aries.blueprint.core - 1.8.3 | Sending blueprint container event BlueprintEvent[type=DESTROYING] for bundle com.java.test.pack.packager.event.ingestion/1.0.0
2020-10-30T17:41:16.222+0100 | DEBUG | Blueprint Event dispatcher: 1    | .k.b.s.b.i.BlueprintStateService | t.internal.BlueprintStateService  103 | 34 - org.apache.karaf.bundle.blueprintstate - 4.1.4 | Blueprint app state changed to Stopping for bundle 267
2020-10-30T17:41:16.223+0100 | DEBUG | Blueprint Event dispatcher: 1    | o.a.c.b.BlueprintCamelContext    | .blueprint.BlueprintCamelContext  181 | 352 - org.apache.camel.camel-blueprint - 2.25.0 | Received BlueprintEvent[replay=false type=DESTROYING bundle=com.java.test.pack.packager.event.ingestion] %s
2020-10-30T17:41:16.231+0100 | DEBUG | Framework stop

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...