【问题标题】:OSGI: What happens when an already busy service is called?OSGI:当一个已经很忙的服务被调用时会发生什么?
【发布时间】:2021-06-13 22:20:14
【问题描述】:

假设我有一个捆绑包,它公开了一项长期工作的服务。该服务在已经运行时被调用。新调用会发生什么?

  • 新调用被忽略?
  • 新调用被搁置?
  • 调用者出现异常?

osgi 文档https://docs.osgi.org/specification/ 似乎没有包含答案。也不是 Apache Felix 和 Apache Karaf 的文档。

【问题讨论】:

    标签: osgi apache-karaf apache-felix


    【解决方案1】:

    调用服务的工作方式与 java 中的方法调用完全一样。因此,当您在服务已经运行时调用它时,它会在另一个线程中运行代码。

    因此,作为开发人员,您必须确保您的代码是线程安全的,或者根据需要进行锁定。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-24
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      • 2011-01-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多