Bean'i başlatmak için bundle-context.xml dosyasını kullanan bir OSGi paketine sahibim.erişim OSGi paketindeki yayılma içeriği
<bean id="myBean" class="test.MyClass">
<property name="output" value="test"/>
</bean>
Fasulye örneğini alması gereken bir fabrika sınıfım var. olmayan OSGI dünyasında, sadece OSGi (FuseESB 4.2, Servicemix4) 'de, bağlamı başlatmak ve bir fasulye için ele almak ...
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("bundle-context.xml");
MyClass bean = (MyClass) applicationContext.getBean("myBean");
Ama aşağıdaki, konteyner otomatik olarak yükler hep sevmişimdir bundle-context.xml dosyası ve yay içeriğini başlatır. Bağlamı açıkça yüklediğimde (yukarıdaki kodu kullanarak), o zaman 2 bağlam yaratılır (kötü olan). Yani, aynı bağlam/fasulye bir tanıtıcı elde etmek için uygun yolu nedir?
thx, Bu belgeyi okudum ... Hala bunu yapmanın kolay bir yolunu görmüyorum. Belki de bazı OSGI kayıt çemberlerinden atlayarak içeriğe bir yönlendirme yapabilmeliyiz, fakat bu OSGi'de Spring ile yapılacak standart bir şey olmalı. Bir şey mi eksik? Sadece ilkbaharda tanımlanmış bir fasulye örneği istiyorum? –
Sadece uygulayabileceğiniz bir Yay Çekirdek ApplicationContextAware Arayüzü olduğunu öğrendim. İçerik, uygulama sınıfınıza enjekte edilecektir. Bu çalışmalı ve daha basit bir çözüm olmalı. Web’deki örnekleri bulabilirsiniz, ör. http://howto-notes.blogspot.com/2009/03/spring-applicationcontextaware.html – FrVaBe