pnoltes commented on code in PR #588: URL: https://github.com/apache/celix/pull/588#discussion_r1261705758
########## documents/framework.md: ########## @@ -206,6 +206,36 @@ add_executable(create_framework_with_celix_launcher src/launcher.c) target_link_libraries(create_framework_with_celix_launcher PRIVATE Celix::framework) ``` +## Framework `celix_condition` Services +In a dynamic framework such as Apache Celix, it can sometimes be challenging to ascertain when the framework or +certain parts of a dynamic service-based application are ready for use. To address this issue, Apache Celix provides +services known as `celix_condition` services. + +A `celix_condition` service is a registered marker interface with a "condition.id" service property. +The service's availability signifies that the condition identified by the "condition.id" has been met. + +The `celix_condition` service is an adaptation of the +[OSGi 8 Condition Service Specification](https://docs.osgi.org/specification/osgi.core/8.0.0/service.condition.html). + +The Apache Celix framework will provide the following `celix_condition` services for the respective states: + +- Celix condition "true", which is always available. +- Celix condition "framework.ready". This service will be registered when the framework has successfully and fully + started, which includes installing and starting all configured bundles and services, and ensuring the event queue is + empty after all configured bundles have been started. Note that the "framework.ready" condition is not part of the Review Comment: True, but waiting once to ensure all bundles are done with their (possible) async service registrations and/or trackers can IMO be considered part of a "framework.ready". E.g. the framework and all the configured are done starting up. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@celix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org