-
Notifications
You must be signed in to change notification settings - Fork 602
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enhance the bells-1.0 feature to support the configuration of BELL service properties #17414
Comments
FYI @NottyCode, @tjwatson |
Considerations from Friday's UFO presentationErrata: TomW is correct. Service property configuration
Service property propagation |
Resolutions per today's design issues meeting
|
Closing. This work delivered to 220010 beta. We can reopen this issue if additional work is needed for GA. |
For epic #19368
Consumers currently use Liberty properties to configure services provided by their BELL libraries. We could augment the
<bell>
metatype to allow the declaration of properties for services named within a<bell>
configuration, and enhance the feature runtime to set these properties on service implementation classes during BELL initialization. Here's a sample BELL configuration.A few concerns come to mind:
META-INF/services
files; it also passes them intoBundleContext.registerService()
and caches them in the corresponding service factories. This configuration must be proprietary, because neither the java provider-configuration nor the service loader docs mention property support.This enhancement will require a proprietary method of setting properties on a service class. Do we care? The runtime would collect service properties from the
<bell>
configuration into the service factory. Before returning the service instance the factory would invoke instance methodssetX(_xValue_)
-- a la JavaBeans -- for all properties, or invoke instance method init(map) with a Map of properties.Bell documentation says the user may declare the name of the Meta-inf service provided by the BELL library -- i.e., a single service name. If this is a valid logical restriction, then the configuration of service properties could simply entail adding a property attribute to the bell OCD, as shown below. Note that the runtime does not enforce this restriction. So, if we expect the user to name more than one service in a
<bell>
, then the Bells metatypes will require another OCD for the server, with a required name attribute and an optional attribute for service properties. This sounds like a breaking change to me, which is circumvented by 1).The text was updated successfully, but these errors were encountered: