Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • POJO-based approach - Most components can simply be POJOs and need not have an iPOJO- or OSGi-specific API in them.
  • Rich service dependency model - Automatically manages a full spectrum of service dependencies.
    • Optional/mandatory service dependencies.
    • Singular/aggregate service dependencies.
    • Member field/method injection - Also supported in combination.
      • Member method injection supports various method signatures
        • method()
        • method(\<service-interface\> interface> svc)
        • method(ServiceReference ref)
        • method(ServiceReference ref, \ <service-interface\> interface> svc)
    • Binding policies
      • Static - Static dependencies cannot change without invalidating the component instance, so injected services typically do not change at run time and service departures typically result in the component instance being destroyed and potentially recreated. (coming soon)
      • Dynamic - Dynamic dependencies can change without invalidating the component instance, so injected services can change at run time, but are static with respect to service priority changes (i.e., they do not automatically switch if a higher priority service appears).
      • Dynamic priority - Dynamic priority dependencies can change without invalidating the component instance and do dynamically update based on service priority rankings at run time. (coming soon)