由于未解析的依赖关系,无法为bundle pdi-dataservice-server-plugin启动蓝图容器

时间:2017-04-18 07:00:33

标签: osgi pentaho kettle blueprint-osgi

我正在使用Windows批处理文件调用Pentaho Data集成作业,间歇性地,作业无限期挂起。

Pentaho日志中的错误消息如下:

06:43:37,951 ERROR [BlueprintContainerImpl] Unable to start blueprint container for bundle pdi-dataservice-server-plugin due to unresolved dependencies [(objectClass=org.pentaho.metaverse.api.ILineageClient)]
java.util.concurrent.TimeoutException
    at org.apache.aries.blueprint.container.BlueprintContainerImpl$1.run(BlueprintContainerImpl.java:336)
    at org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run(DiscardableRunnable.java:48)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

我能够在类似的行上找到一些问题,这表明这是一个缓存问题。请帮忙!

5 个答案:

答案 0 :(得分:0)

unresolved dependencies [(objectClass=org.pentaho.metaverse.api.ILineageClient)]

这意味着蓝图文件具有对接口为org.pentaho.metaverse.api.ILineageClient的服务的强制引用。该服务似乎没有出现,所以蓝图在超时后放弃。

您现在需要找到提供此服务的软件包,并确定它无法正确启动的原因。

答案 1 :(得分:0)

当你的软件包启动时,它找不到这个界面org.pentaho.metaverse.api.ILineageClient。所以它保持在Graceperiod State。

因为它在清除缓存后有效,我建议您:

  • <强> 1 : 对公开此接口的软件包进行故障排除:使用karaf命令行中的 diag 命令查找无法正常启动的原因。您也可以使用 headers 命令来确认此界面已导出

  • 2 :您可以将此引用作为optionnal放在消费者包中,如下所示:

    <reference id="give an id" interface="org.pentaho.metaverse.api.ILineageClient" availability="optional"> </reference>

  • 3 :验证捆绑包的启动级别:在features.xml中安装捆绑包时,可以使用start-level =“...”处理此问题。

答案 2 :(得分:0)

我通过使用&#34; call&#34;解决了同样的问题。 例如:

cd "C:\Program Files (x86)\Kettle"
call kitchen.bat -file:"C:\Elekta Projects\CE_Activities\MAIN.kjb" -level:Minimal

答案 3 :(得分:0)

我添加了call语句,还删除了/ pentaho-server / tomcat / temp的内容

答案 4 :(得分:0)

您可能必须将Kettle工具的版本升级到8.0.0

在这里您可以找到问题: https://jira.pentaho.com/browse/PDI-16368