我用自定義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