Leider konnte ich keinen Weg finden, einen OSGI -Dienst programmgesteuert mit gelösten Referenzen zu erstellen. Es ist eine bekannte Tatsache, dass OSGI Service als Singleton -Objekt schafft. Aufgrund eines Grundes muss ich neue Serviceinstanzen manuell erstellen.@Service(ICasualService.class)
@Component(immediate = true, label = "Casual Service")
public class CasualService implements ICasualService {
@Reference
private ConfigurationAdmin configurationAdmin;
}
< /code>
Verwenden von Bundle -Kontext Ich kann meinen Dienst registrieren: < /p>
private BundleContext bundleContext;
ICasualService casualService = new CasualService();
Dictionary props = new Properties();
bundleContext.registerService(ICasualService.class.getName(), casualService, props);
< /code>
Auf diese Weise ist configurationAdmin < /strong> in einem neu erstellten Dienst null. < /p>
Die Frage ist, ob es möglich ist, eine neue Instanz des Dienstes programmatisch zu erstellen? Strong> Update: Lösung sollte für Felix (OSGI -Implementierung) funktionieren.
Ist es möglich, den OSGI -Dienst programmgesteuert mit gelösten Injektionen zu erstellen? ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post