2012-06-29 116 views
-2

如何將接口名稱傳遞給實現類動態地在osgi中?如何將接口名稱傳遞給實現類動態地

我需要的東西,這在邏輯上是說像這樣:

// where the interface name is provided at runtime in Component.xml of declarative sevices in osgi 
public class Foo implements <T> { 
// do something 
} 

所以,無論我通過接口名稱,它應該實現這個接口(因爲該類實現了所有我通過接口的方法)

+0

你打算爲動態實現的接口提供實現嗎? – pavi

+2

這是不是很清楚你想要實現什麼。您是否試圖在飛行中註冊服務?你是否像[代理](http://java.dzone.com/articles/power-proxies-java)之類的東西? OSGi服務已允許您動態查找接口的實現,只要實現聲明它們實現了該接口即可。你想解決什麼額外的問題? –

+0

我真的想開發一個服務,它將服務於任何組件。例如:PropertyManagement組件應服務於固定管理或某些圖書管理或某個DVD管理的目的。如果差異組件需要不同的服務,相同的屬性組件應該能夠爲它們提供所有這些數據,我們外部不應該爲它寫一個適配器。物業管理部門應該這樣做。我只是通過接口的名稱和propertymanagement服務應該兼容,以提供該服務 – Lakshmi

回答

2

你可以用CGLIB做各種瘋狂的東西,但大部分時間你應該重新思考你做事情的方式,你可能會找到一種更簡單的解決方案。

+0

@Viccari:感謝您的編輯 –

相關問題