ฉันสามารถใช้ Distributed OSGi และ ConfigurationAdmin ร่วมกันได้หรือไม่

If:

  • ฉันมีบันเดิลที่ฉันต้องการรันบนคอนเทนเนอร์ n OSGi ที่ส่งออกบริการบางอย่าง
  • ฉันใช้ DS เพื่อลงทะเบียนวิธีการแก้ไขเมื่อมีการเปลี่ยนแปลงการกำหนดค่า ดังนั้นฉันจึงสามารถอัปเดตบริการผ่าน ConfigurationAdmin และส่งออกอินเทอร์เฟซจากระยะไกลตาม RFC119
  • ฉันใช้ Discovery เพื่อเรียกใช้บริการเหล่านั้นจากชุดอื่นๆ ในกล่องอื่น เป็นไปได้หรือไม่ที่จะมีการกำหนดค่าส่วนกลางสำหรับบริการนี้โดยใช้ ConfigurationAdmin เพื่อให้ฉันสามารถเผยแพร่การเปลี่ยนแปลงการกำหนดค่าผ่านทาง Configuration Admin และได้รับจากทุกอินสแตนซ์ของ บริการทำงานอยู่เหรอ?

ดูเหมือนว่าจากทุกสิ่งที่ฉันได้อ่านมาว่า ConfigurationAdmin ไม่ได้รับรู้ถึงเครือข่าย และอยู่ในเครื่องของแต่ละคอนเทนเนอร์ OSGi

ขอบคุณสำหรับความเข้าใจของคุณล่วงหน้า :)


person Mjgp2    schedule 07.04.2010    source แหล่งที่มา


คำตอบ (2)


ดังนั้นบันเดิลของคุณจึงทำงานบนคอนเทนเนอร์ N ส่งออกบริการไปยังคอนเทนเนอร์ในเครื่องนั้นเท่านั้น และส่งออก ManagedService โดยใช้บริการระยะไกลเพื่อเผยแพร่ไปยังคอนเทนเนอร์ "กลาง" บางตัวที่มี ConfigurationAdmin ทำงานอยู่

คุณพูดถูกที่ ConfigurationAdmin ไม่ได้รับรู้ถึงเครือข่าย แต่ถ้าบันเดิลเผยแพร่ ManagedService ของตนจากระยะไกลไปยังคอนเทนเนอร์ที่ใช้งาน Configuration Admin ก็ควรจะใช้งานได้ คำเตือนเพียงอย่างเดียวคือ ManagedService แต่ละรายการจะต้องมี PID บริการที่ไม่ซ้ำกัน ดังนั้นคุณจึงไม่สามารถเผยแพร่ชุดข้อมูลเดียวกันในคอนเทนเนอร์ N ได้ เว้นแต่คุณจะแน่ใจว่าแต่ละอินสแตนซ์จบลงด้วยการใช้ PID ที่ไม่ซ้ำกัน

person Marcel Offermans    schedule 04.05.2010

คุณควรลองดูที่ Karaf Cellar ให้การสนับสนุนคลัสเตอร์สำหรับแอปพลิเคชัน OSGi และซิงโครไนซ์การเปลี่ยนแปลงการกำหนดค่าระหว่างโหนด

person lothar    schedule 15.04.2012