diff options
author | Ryan Goulding <ryandgoulding@gmail.com> | 2017-08-17 16:15:39 -0400 |
---|---|---|
committer | Ryan Goulding <ryandgoulding@gmail.com> | 2017-09-06 09:05:17 -0400 |
commit | af22e3dbddd5b372e815970ff43cc73e29135218 (patch) | |
tree | b437d5a2853cab8d0682256e518b9c204cf1b7db /dblib/provider/src/main/resources/org | |
parent | b6ad62d01b1045ff03c03aa05ee1beeaabc633c7 (diff) |
Fix service registration for SDNC
Addresses the inherit race conditions associated with the
BundleActivator abstraction. From lessons learned in OpenDaylight
project, dependency injection and service injection via Aries Blueprint
is faster, more deterministic, and has better error messaging than
using BundleActivator(s).
This change addresses several aspects:
1) DBLIBResourceActivator is changed to DBLIBResourceProvider.
This was done in order to imply that this is no longer an
Activator or subclass of an Activator. The class is a POJO.
2) DBLIBResourceProvider is split from a single monolithic method
into several more manageable and better documented methods.
3) Documentation surrounding the resolution of the DB properties
is added so that a developer can more easily identify the
strategy (priority) used for resolving properties.
4) dblib-blueprint.xml is added. This is used to register the
configuration bean (DBLIBResourceProvider), and pass it as
an argument to the actual Service (DBLIBResourceManager).
5) Tests are added to test the functionality and resolution of
the properties file loading.
Issue-Id: SDNC-54
Change-Id: Ie9d5fb423ae7a67e9aec026c78321537399cc308
Signed-off-by: Ryan Goulding <ryandgoulding@gmail.com>
Diffstat (limited to 'dblib/provider/src/main/resources/org')
-rw-r--r-- | dblib/provider/src/main/resources/org/opendaylight/blueprint/dblib-blueprint.xml | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/dblib/provider/src/main/resources/org/opendaylight/blueprint/dblib-blueprint.xml b/dblib/provider/src/main/resources/org/opendaylight/blueprint/dblib-blueprint.xml new file mode 100644 index 000000000..ee3e0f033 --- /dev/null +++ b/dblib/provider/src/main/resources/org/opendaylight/blueprint/dblib-blueprint.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" + xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0" + odl:use-default-for-reference-types="true"> + + <bean id="provider" class="org.onap.ccsdk.sli.core.dblib.DBLIBResourceProvider" /> + + <bean id="dbResourceManager" class="org.onap.ccsdk.sli.core.dblib.DBResourceManager"> + <argument ref="provider" /> + </bean> + <service ref="dbResourceManager" interface="org.onap.ccsdk.sli.core.dblib.DbLibService" /> + +</blueprint>
\ No newline at end of file |