2017-09-25 119 views
0

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

如果我重新安装插件,它再次运行好几天,然后错误返回。

我很困惑。欢迎任何建议。

回答

0

你在使用插件中的任何监听器吗?如果是的话this可以帮到你。 我将此作为答案,因为我没有权限对您的问题发表评论。

谢谢

+0

不,我现在没有使用监听器。你认为,添加监听器可以解决这个问题吗?上周没有发生错误。发生错误时,插件保持启用状态。插件的页面被加载,但内容丢失,因为内容的来源是休息api。 – nahebatoq

相关问题