java - 在 OSGi 中,如何优雅地处理初始化异常?

标签 java osgi apache-felix declarative-services

我正在使用 Maven-SCR。通过使用 @Component@Service 标签,我可以让我的类实例注册它自动提供的接口(interface)。

然而,有时,激活方法(标记为 @Activate)甚至构造函数可能会抛出异常并以我无法处理的方式失败。

问题是:我想捕获该异常以便正确记录它,但与此同时,我想防止该类在激活或初始化失败时发布其服务。

你们是怎么做到的?

谢谢!

最佳答案

SCR 规范要求将这些方法的异常记录到 OSGi LogService。您是否安装了 LogService 实现包?如果是这样,您可以找到记录在那里的这些方法的异常。如果您需要将这些异常记录到其他日志中,您可能需要查看类似 Pax Logging 的内容.

关于java - 在 OSGi 中,如何优雅地处理初始化异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12620951/

相关文章:

当 swing 应用程序作为 APPLET 运行时,Java 组件是不可见的

java - Servlet、JSP、JPA - 未找到属性异常

java - 通过服务器线程调用OSGi服务

postgresql - OSGi + JPA(postgresql)

java - Apache Felix @Reference 注解问题

java - 使用嵌入式 Felix 进行调试

java - 是否有一种可移植的方法来获取 Maven 项目中资源的路径?

java - 创建一个在 RCP 应用程序启动时运行任意代码的插件

Android 应用程序使用 OSGi 与服务器通信

Java发送邮件避开smtp中继服务器直接发送到MX服务器