Konfigurierbarer Filter für OSGi service-Referenz in blueprint

Hobbes

Aktives Mitglied
Hallo zusammen,

ich habe schon auf stackoverflow gefragt und noch keine Antwort bekommen. Deshalb versuche ich hier mein Glück.

Ich arbeite an einer OSGi-basierenden Anwendung, die in Apache karaf läuft.

Es gibt mehrer OSGi-Services, die das selbe Interface implementieren. Jede Implementierung liest Daten von einer anderen Quelle bzw. auf eine andere Art.
In vielen anderen Bundles werden diese Read-Services verwendet.. Mit blueprint wird eine Service-Referenz geholt. Im allgemeinen ist es fix, welcher Service genutzt wird. Deshalb steht hart codiert ein service-Filter in der Blueprint-Datei.

Zu Test-Zwecken kann es aber vorkommen, dass ich für ein einzelnes Bundle einen anderen Read-Service brauche.

Ist es möglich, den service-Filter in der Blueprint-Datei konfigurierbar zu machen, so dass ich ihn im laufenden System austauschen kann ohne das Bundle neu bauen zu müssen?

Falls es nicht möglich ist, hat jemand eine andere Idee, wie ich im laufenden System service-Referenzen austauschen kann?

Hier ein abgespecktes Beispiel meiner Blueprint-Datei

XML:
<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
           xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0"
           xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
                               http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd">

  <ext:property-placeholder/>

  <cm:property-placeholder persistent-id="com.example.MyBundle"
                           placeholder-prefix="$(" placeholder-suffix=")" update-strategy="reload">
    <cm:default-properties>
      <cm:property name="readServiceName" value="local-read"/>
    </cm:default-properties>
  </cm:property-placeholder>

  <reference id="MyBundleReadService" interface="com.example.MyInterface" availability="mandatory" filter="(name=$(readServiceName)"/>
</blueprint>
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
ExceptionOfExpectation In Meiner Spring-Boot Applikation verlangt die Datenbank Wert für eine ID Frameworks - Spring, Play, Blade, Vaadin & Co 5
ExceptionOfExpectation @Value() für application.properties [SpringBoot] Frameworks - Spring, Play, Blade, Vaadin & Co 9
OnDemand Suche "Wizard" für Vaadin für Unterstützung bei Erstbenutzung von Funktionen Frameworks - Spring, Play, Blade, Vaadin & Co 2
R Wie schreibt man Test für einen Controller? Frameworks - Spring, Play, Blade, Vaadin & Co 5
Zrebna Vaadin: ToolbarButton - Breite für Caption reicht nicht aus. Frameworks - Spring, Play, Blade, Vaadin & Co 1
D SpringBootTest H2 Database für Test Frameworks - Spring, Play, Blade, Vaadin & Co 5
D Kein Endpoint für Swagger UI Frameworks - Spring, Play, Blade, Vaadin & Co 6
N Spring Boot - Overkill für private Projekte? Frameworks - Spring, Play, Blade, Vaadin & Co 3
Z JPA Extra-Entity für Many-To-Many gewissermaßen zu Fuß Frameworks - Spring, Play, Blade, Vaadin & Co 5
R Architektur für Spring Boot Projekt Frameworks - Spring, Play, Blade, Vaadin & Co 5
LesterBurnham Spring, Config Server, mehrere Gitlab Repos für Konfiguration - best practices Frameworks - Spring, Play, Blade, Vaadin & Co 1
J Framework für KI Frameworks - Spring, Play, Blade, Vaadin & Co 4
Thallius Gibt es einen "Standard" Folder für Spring deployment auf Linux Servern? Frameworks - Spring, Play, Blade, Vaadin & Co 13
C Suche Tutorial für - Spielfiguren springen lassen Frameworks - Spring, Play, Blade, Vaadin & Co 4
K Spring Security für Java SE Frameworks - Spring, Play, Blade, Vaadin & Co 2
M Konfiguration von Spring Security für httpBasic Auth und jdbc Authentication. Frameworks - Spring, Play, Blade, Vaadin & Co 3
J Resolver für XML Schema Location beim Laden des Spring Application Context Frameworks - Spring, Play, Blade, Vaadin & Co 1
G Suche einfaches Beispiel für AspectJ (ohne Spring AOP) Frameworks - Spring, Play, Blade, Vaadin & Co 1
B Buchempfehlung für Groovy, Spring, Hibernate, SOAP, J2EE gesucht Frameworks - Spring, Play, Blade, Vaadin & Co 1
G Spring <spring:message für Images Frameworks - Spring, Play, Blade, Vaadin & Co 1
A Spring MVC / JSP und Defaultwerte für nicht ausgefüllte Textfelder Frameworks - Spring, Play, Blade, Vaadin & Co 0
A Eclipse Projekt für Entwicklung mit Spring Webflow 2.2 Frameworks - Spring, Play, Blade, Vaadin & Co 2
S Spring IDE Plugin für eclipse Frameworks - Spring, Play, Blade, Vaadin & Co 12
S Wo kann man das Spring IDE Plugin für Eclipse downloaden? Frameworks - Spring, Play, Blade, Vaadin & Co 0
A Anleitung für JSF 2.0 und Spring Web Flow 2.1 Frameworks - Spring, Play, Blade, Vaadin & Co 1
S Spring für Anfänger Frameworks - Spring, Play, Blade, Vaadin & Co 21
I Annotation für JSF 1.2 bei SPRING 3.0 Frameworks - Spring, Play, Blade, Vaadin & Co 6

Ähnliche Java Themen

Neue Themen


Oben