0
A
回答
4
取決於你願意跟蹤什麼。
的BundleTracker跟蹤包,請參閱:
- http://www.osgi.org/javadoc/r4v42/org/osgi/util/tracker/BundleTracker.html
- http://www.osgi.org/javadoc/r4v42/org/osgi/util/tracker/BundleTrackerCustomizer.html
而且ServiceTracker的跟蹤服務實例,請參見:
- http://www.osgi.org/javadoc/r4v42/org/osgi/util/tracker/ServiceTracker.html
- http://www.osgi.org/javadoc/r4v42/org/osgi/util/tracker/ServiceTrackerCustomizer.html
所以,很顯然,如果你有興趣在什麼捆包帶發生,您使用BundleTracker。如果你對服務實例感興趣,你可以使用ServiceTracker。
0
說得很簡單: 包是罐子。您可以跟蹤它是否已安裝,成功啓動,尚未啓動等。
一個包可以發佈零個或多個服務。 OSGi術語中的服務是活動java對象,它爲您提供了執行某些操作的方法。即使軟件包在那裏,其服務可能已經消失(例如,因爲軟件包已停止;或已安裝但尚未啓動)。即使捆綁包處於ACTIVE狀態,它仍然可能在等待某種條件以提供其服務 - 它完全取決於綁定決定,當它註冊和取消註冊其服務時。
在最典型的情況下,您的代碼可以與服務一起工作 - 例如,你得到LogService並調用它的log()方法。因此,在99%的情況下,您應該對ServiceListener感興趣(或者,更好的方式是使用ServiceTracker,它也是如此,但是會爲您處理一些典型的同步缺陷)。
希望這有助於:)
相關問題
- 1. 何時使用ServiceTracker vs ServiceReference
- 2. OSGI ServiceTracker和線程安全
- 3. ServiceTracker發現的服務
- 4. ServiceTracker有時會錯過服務?
- 5. 什麼時候ServiceTracker取消ServiceReference?
- 6. 如何高效地使用ServiceTracker來使用多個服務?
- 7. ServiceTracker的不爲了找到一個現有服務
- 8. vs vs 2008 vs vs 2010
- 9. Exec的VS ExecWait VS ExecShell VS nsExec :: Exec的VS nsExec :: ExecToLog VS nsExec :: ExecToStack VS ExecDos VS ExeCmd
- 10. FTP vs SFTP vs HDFS vs NTFS vs EXT2,EXT3
- 11. VS VS VS VS 11中的MVC測試
- 12. CGL vs AGL vs OpenGL vs NSOpenGL vs CoreAnimation(CALayer)
- 13. MobileNet VS SqueezeNet VS ResNet50 VS啓V3 VS VGG16
- 14. NTOSKRNL.EXE VS NTKRNLMP.EXE VS NTKRNLPA.EXE VS NTKRPAMP.EXE
- 15. VS 2008 vs VS 2008 Express
- 16. RailwayJS vs Geddy vs Express vs Socket.IO
- 17. .NET vs ASP.NET vs CLR vs ASP
- 18. DynamicProperty vs MutableProperty vs AnyProperty vs ConstantsProperty
- 19. codendi vs redmine vs Retrospectiva vs trac
- 20. body.scrollTop VS documentElement.scrollTop VS window.pagYOffset VS window.scrollY
- 21. Asp.net vs Html5 vs xml vs xhtml
- 22. Sleep VS alarmManager.set VS alarmManager.setRepeat VS Handler
- 23. Atomikos vs JOTM vs Bitronix vs?
- 24. inline vs __inline vs __inline__ vs __forceinline?
- 25. JRuby:import vs include vs java_import vs include_class
- 26. VS 2013 MSTest vs nUnit vs xUnit
- 27. SDI vs MDI vs TDI vs?
- 28. `Math.trunc` vs`| 0` vs`<<0` vs `>> 0` vs`&-1` vs`^ 0`
- 29. Stackpanel:高度vs ActualHeight vs ExtentHeight vs ViewportHeight vs DesiredSize vs RenderSize
- 30. LinkedBlockingQueue vs vs offer
線索是在名稱。它取決於你想跟蹤的內容;-) – 2012-07-12 14:56:20
@NeilBartlett好吧,我明白可以通過捆綁定義多個服務? – 2012-07-12 15:06:02
軟件包發佈零到多個服務。真的,你不應該在這個階段看這些公用事業。您應該專注於使用服務的簡單方法,我推薦使用聲明式服務。我還建議收到一本像「OSGi in Action」這樣的書,而不是試圖通過規範。 – 2012-07-12 15:33:34