0
A
回答
0
首先,您需要一個綁定上下文的句柄。從上面你可以聽包引用,得到一個Bundle實例並使用它的類加載器來做你想做的事。使用一個Servlet掛接到包上下文和ServiceTracker
實例監聽出現
public class AnotherHelloWorldServlet extends HttpServlet {
private MessageService service = null;
private BundleContext context;
@Override
public void init(final ServletConfig config) throws ServletException {
super.init(config);
context = (BundleContext) config.getServletContext().getAttribute("osgi-bundlecontext");
final AnotherHelloWorldServlet servlet = this;
ServiceTracker tracker = new ServiceTracker(context,
MessageService.class.getName(), null) {
@Override
public Object addingService(final ServiceReference sref) {
log.infof("Adding service: %s to %s", sref, servlet);
service = (MessageService) super.addingService(sref);
return service;
}
@Override
public void removedService(final ServiceReference sref, final Object sinst) {
super.removedService(sref, service);
log.infof("Removing service: %s from %s", sref, servlet);
service = null;
}
};
tracker.open();
}
}
與服務引用,你可以調用getBundle()獲得包實例OSGi包,併爲,getResource()得到什麼你問了。
如果您不能使用servlet或類似(如果您在Java EE/servlet容器之外),則沒有多少標準方法掛接到我所知的bundle上下文中。在這種情況下,您可能需要使用BundleContextProvider hack才能得到它。
相關問題
- 1. 以編程方式滾動外部網頁以加載內容
- 2. 如何以編程方式獲得OSGi包狀態爲String?
- 3. Java Android - 動態加載片段(ViewPager)
- 4. 以編程方式編排android片段
- 5. 如何以編程方式加載UIViewController?
- 6. 如何以編程方式加載UIViewController
- 7. 如何以編程方式添加地圖片段
- 8. 如何以編程方式添加代碼片段?
- 9. 如何以編程方式在片段上添加組件?
- 10. 如何以編程方式從片段設置windowsoftinputmode?
- 11. 無法以編程方式將片段添加到活動
- 12. 如何以編程方式從網站下載圖片?
- 13. getChildFragmentManager()以編程方式(動態)添加碎片?
- 14. 以編程方式替換片段
- 15. 以編程方式切換片段
- 16. 如何以編程方式加載Java中的librxtxSerial
- 17. 以編程方式將視圖添加到片段onCreateView方法
- 18. 從函數內部以編程方式添加simulink塊
- 19. 以編程方式從Java卸載驅動器
- 20. 以編程方式動態添加按鈕上的dijit ...如何?
- 21. 如何以編程方式重新加載移動的行?
- 22. 如何以編程方式將數據從DataTable加載到Excel?
- 23. Java Eclipse:以編程方式導入插件和片段
- 24. 以編程方式在片段內用ImageButton膨脹佈局
- 25. 以編程方式創建視圖中的內部片段映射
- 26. 如何從其內容設置動態uicollectionviewcell大小 - 以編程方式
- 27. 如何以編程方式在代碼片段中包含yasnippet片段
- 28. 以編程方式將圖像從文件加載到動態資源
- 29. 如何以編程方式創建多個片段?
- 30. Android:如何以編程方式爲片段設置頁邊距?