我正在使用 Maven-SCR。通过使用 @Component
和 @Service
标签,我可以让我的类实例注册它自动提供的接口(interface)。
然而,有时,激活方法(标记为 @Activate
)甚至构造函数可能会抛出异常并以我无法处理的方式失败。
问题是:我想捕获该异常以便正确记录它,但与此同时,我想防止该类在激活或初始化失败时发布其服务。
你们是怎么做到的?
谢谢!
最佳答案
SCR 规范要求将这些方法的异常记录到 OSGi LogService。您是否安装了 LogService 实现包?如果是这样,您可以找到记录在那里的这些方法的异常。如果您需要将这些异常记录到其他日志中,您可能需要查看类似 Pax Logging 的内容.
关于java - 在 OSGi 中,如何优雅地处理初始化异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12620951/