Di Fabric8, cara yang lebih disukai untuk mendapatkan koneksi ActiveMQ adalah melalui mq -fabric profile, yang menyediakan objek ActitveMQConnection melalui Layanan Deklaratif. Contohnya diberikan di GitHub, yang berfungsi dengan baik.
Namun, saya belum menemukan cara agar Layanan Deklaratif dan Layanan Cetak Biru dapat berkolaborasi di Fabric8 (atau lingkungan OSGI apa pun), oleh karena itu, aplikasi OSGI saya harus menggunakan DS atau cetak biru. Mencampur keduanya sepertinya bukan suatu pilihan.
Jika Anda ingin menggunakan cetak biru (yang saya lakukan), Anda harus terlebih dahulu membuat broker melalui UI web, lalu kembali ke konsol dan mengetik cluster-list, cari port yang ditetapkan Fabric8 ke broker dan kemudian konfigurasikan koneksi dalam cetak biru seperti:
<bean id="activemqConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="tcp://mydomain:33056" />
<property name="userName" value="admin" />
<property name="password" value="admin" />
</bean>
Meskipun cara ini berhasil, cara ini tidak sepenuhnya ramah penerapan, karena melibatkan beberapa langkah manual yang ingin saya hindari jika memungkinkan. Masalah utamanya adalah saya tidak tahu port apa yang akan digunakan. Saya telah menyisir file konfigurasi dan tidak dapat menemukannya di mana pun.
Apakah ada cara yang lebih bersih dan otomatis untuk mendapatkan koneksi ActiveMQ di Fabric8 melalui cetak biru, atau haruskah kita menggunakan Layanan Deklaratif?