Bisakah saya menggunakan OSGi Terdistribusi dan ConfigurationAdmin secara bersamaan?

If:

  • Saya memiliki paket yang ingin saya jalankan di n kontainer OSGi yang mengekspor beberapa layanan;
  • Saya menggunakan DS untuk mendaftarkan metode yang dimodifikasi ketika konfigurasi berubah, sehingga saya dapat memperbarui layanan melalui ConfigurationAdmin, dan mengekspor antarmuka dari jarak jauh sesuai RFC119;
  • Saya menggunakan Discovery untuk memanggil layanan tersebut dari bundel lain di kotak lain, apakah mungkin untuk memiliki konfigurasi pusat untuk layanan ini menggunakan ConfigurationAdmin, sehingga saya dapat mempublikasikan perubahan konfigurasi melalui Admin Konfigurasi dan diterima oleh semua instance dari layanan berjalan?

Tampaknya dari semua yang saya baca bahwa ConfigurationAdmin tidak mengetahui jaringan, dan bersifat lokal untuk setiap wadah OSGi?

Terima kasih atas wawasan Anda sebelumnya :)


person Mjgp2    schedule 07.04.2010    source sumber


Jawaban (2)


Jadi bundel Anda berjalan di N kontainer, mengekspor layanannya ke kontainer lokal saja, dan mengekspor ManagedService menggunakan layanan jarak jauh untuk mempublikasikannya ke beberapa kontainer "pusat" yang menjalankan ConfigurationAdmin?

Anda benar bahwa ConfigurationAdmin tidak mengetahui jaringan, tetapi jika bundel menerbitkan ManagedService-nya dari jarak jauh ke kontainer yang menjalankan Configuration Admin, maka bundel tersebut akan berfungsi. Satu-satunya peringatan adalah bahwa setiap ManagedService harus memiliki PID layanan unik sehingga Anda tidak bisa begitu saja menerbitkan paket yang sama dalam N kontainer kecuali Anda memastikan bahwa setiap instance menggunakan PID unik.

person Marcel Offermans    schedule 04.05.2010

Anda mungkin harus memeriksa Karaf Cellar. Ini memberikan dukungan cluster untuk aplikasi OSGi dan menyinkronkan perubahan konfigurasi di seluruh node.

person lothar    schedule 15.04.2012