我用自定义rest API创建了jira服务器插件,它从活动对象的实体返回数据。它在测试实例上运行良好。插件已安装在Prod实例上。org.eclipse.gemini.blueprint.service.importer.ServiceProxyDestroyedException:服务代理已被破坏
起初,大概一个月没有问题。现在奇怪的是:有一段时间它也运行良好,但是后来所有的自定义API开始返回错误“org.eclipse.gemini.blueprint.service.importer.ServiceProxyDestroyedException:服务代理已被销毁”。它表明,在主动obects'entity调用的代码中存在错误。
实施例: SettingResource.java
@Path("settings")
@Produces({MediaType.APPLICATION_JSON})
public classSettingsResource {
@GET
@Produces({MediaType.APPLICATION_JSON})
public Response getSettings() throws Exception {
List<XmlSettings> xmlSettings = Lists.newArrayList();
for (SettingsEntity entity : AOFactory.getInstance().getSettingsAO().getSettings() {
xmlSettings.add(SettingsMapper.toXmlSettings(entity));
}
return Response.ok(xmlSettings).build();
}
}
SettingsAOIMpl.java
public class SettingsAOIMpl implements SettingsAO {
private final ActiveObjects ao;
public SettingsAOIMpl(ActiveObjects ao) {
this.ao = ao;
}
public SettingsEntity[] getSettings() throws Exception {
return ao.executeInTransaction(new TransactionCallback<SettingsEntity[]) {
@Override
public SettingsEntity[] doInTransaction() {
return ao.find(Settings.class, Query.select());
}
});
}
}
REST API返回错误SettingsAOIMpl .getSettings。
如果我重新安装插件,它再次运行好几天,然后错误返回。
我很困惑。欢迎任何建议。
不,我现在没有使用监听器。你认为,添加监听器可以解决这个问题吗?上周没有发生错误。发生错误时,插件保持启用状态。插件的页面被加载,但内容丢失,因为内容的来源是休息api。 – nahebatoq