【发布时间】:2012-06-05 13:11:09
【问题描述】:
当我知道失败无法恢复时,在声明式服务的 activate() 方法中失败的最佳方法是什么?具体来说:我的服务可以通过带有元类型属性的 configadmin 进行配置。如果配置无效(例如格式错误的 URL),失败的最佳做法是什么?我目前的做法是抛出 IllegalArgumentException。有没有更好的办法? DS主机是否关注异常类型,还是所有异常都被同等对待?
4.2 规范只是说“如果激活方法抛出 异常,SCR 必须记录包含异常的错误消息 日志服务(如果存在),并且组件配置未激活。”这表明我可以抛出任何异常,而不管哪个异常。
我注意到 DS 会在某些情况下重试 activate 方法,例如如果其他依赖项之一发生更改。除非配置固定,否则是否有任何机制告诉基础设施不要打扰?还是我应该不担心,只是接受我的激活器会被额外调用几次?
【问题讨论】: