`
snoopy7713
  • 浏览: 1123631 次
  • 性别: Icon_minigender_2
  • 来自: 火星郊区
博客专栏
Group-logo
OSGi
浏览量:0
社区版块
存档分类
最新评论

OSGI与JMX 的关系

    博客分类:
  • OSGi
阅读更多

不过重点是:

JMX 本来设计的用途就只为了管理,我们不该把他拿来 (over use) 作为开发应用程序的组件 (那是 EJB 或 JavaBeans 该做的事)。但 OSGi 却可以! 

JMX 多数用于 server 系统中,而 OSGi 却不限于所开发的应用程序。你可以用它开发 embedded 系统、desktop 程序,甚至是 server 程序。 

OSGi 不但提供了与 JMX 相似的容器管理能力,甚至它本身就是一套精密的 Framework。OSGi 采用Micro-Kernel 的架构,可以提供无限延伸的功能。OSGi 的 Bundles 在线更新功能、以及应用程序之微量内存执行能力,都是开发应用程序的利基。

行文至此,又觉得 OSGi 与 JCA、JNDI 都有一些功能重迭及互补之处。只是 JMX、JCA、EJB、JNDI都经 JCP 标准,都属于 J2EE 家族成员,但 OSGi 过去屈居于 Embedded System,声名就不若前述标准响亮...。我觉得这完全是两种思维模式:J2EE 的思维是 build on large scale,OSGi 的思维是 build on dynamic scale。OSGi 以小搏大。

为什么要用osgi,我认为主要是因为java至今没有出现一个方便易用的组件配置模型。过去,JMX、ClassLoader、reflect都似乎可以做这个事情。但是,JMX太麻烦了,况且原本为J2EE准备的JMX,确实不太易用,走专用的协议,需要专门的客户端,需要adapter来访问等等....

而ClassLoader,单独用ClassLoader,需要自己在其上构建一层包装,否则用起来很麻烦。Reflect的配置方式和ClassLoader一样的问题 。

但是,所有java的组件配置方式,包括使用classloader的osgi在内共有的一个问题就是,被替换组件的回收时间无法控制。 

JMX 与 OSGi 在功能上的许多重迭之处,在国外已经有人讨论过 (例如 Eclipse Embeds OSGi Based MicroKernel 及 JMX vs. OSGi - The New Flavor of the Eclipse Runtime)。

分享到:
评论

相关推荐

    jmx osgi 实例

    jmx与osgi结合的实例,将osgi的bundle注册到jmx进行管理。简单实例,可以进行扩展

    JMX.rar_jmx_osgi

    JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。文件里面包含jmx开发5个常见的jar包,其中还有些example。

    jetty-distribution-9.4.28.v20200408.zip

    Jetty提供了Web服务器和servlet容器的功能,还支持HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS 和很多其他模块。

    jetty中间件

    Eclipse Jetty provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. These components are open source and available ...

    jolokia:辣椒素上的JMX

    Jolokia是一种远程访问JMX MBean的新方法。 它与JSR-160连接器的不同之处在于它是一种基于代理的方法,该方法使用REST风格的HTTP上的JSON进行通信。 为不同的环境提供了多个代理: 用于在Java EE Server中作为Web...

    论文研究-一种构件级动态集群管理系统的设计与实现.pdf

    设计并实现了一种构件级集群动态管理系统,支持在...它基于OSGi框架组织管理系统构件,并通过构件管理代理支持基于JMX的远程管理。最后通过实验展示了系统效果,最终验证了构件级管理在应对动态需求变化时的有效性。

    ExampleJettyTest

    来救援Jetty 提供了一个 Web 服务器和 javax.servlet 容器,此外还支持 SPDY、Web Sockets、OSGi、JMX、JNDI、JASPI、AJP 和许多其他集成。 这些组件是开源的,可用于商业用途和分发。 Jetty 用于各种项目和产品。 ...

    Learning Apache Karaf

    You will discover how to monitor runtime environments using remote access, logging, and JMX, and you will also develop production-level architectures with high availability and security. What you ...

    org.apache.aries.jmx-1.1.0.jar

    Aries项目正在提供一组可插入的Java组件,以支持企业OSGi应用程序编程模型。 这包括由OSGi联盟企业专家组(EEG)定义的以应用程序为中心的规范的实现和扩展,以及用于多捆绑应用程序的组装格式,以便将其部署到各种...

    org.apache.aries.jmx.api-1.1.0.jar

    Aries项目正在提供一组可插入的Java组件,以支持企业OSGi应用程序编程模型。 这包括由OSGi联盟企业专家组(EEG)定义的以应用程序为中心的规范的实现和扩展,以及用于多捆绑应用程序的组装格式,以便将其部署到各种...

    org.apache.aries.jmx.core-1.1.3.jar

    Aries项目正在提供一组可插入的Java组件,以支持企业OSGi应用程序编程模型。 这包括由OSGi联盟企业专家组(EEG)定义的以应用程序为中心的规范的实现和扩展,以及用于多捆绑应用程序的组装格式,以便将其部署到各种...

    org.apache.aries.jmx.core-1.1.0.jar

    Aries项目正在提供一组可插入的Java组件,以支持企业OSGi应用程序编程模型。 这包括由OSGi联盟企业专家组(EEG)定义的以应用程序为中心的规范的实现和扩展,以及用于多捆绑应用程序的组装格式,以便将其部署到各种...

    org.apache.aries.jmx.core-1.1.3.pom

    Aries项目正在提供一组可插入的Java组件,以支持企业OSGi应用程序编程模型。 这包括由OSGi联盟企业专家组(EEG)定义的以应用程序为中心的规范的实现和扩展,以及用于多捆绑应用程序的组装格式,以便将其部署到各种...

    org.apache.aries.jmx.blueprint-1.1.0.jar

    Aries项目正在提供一组可插入的Java组件,以支持企业OSGi应用程序编程模型。 这包括由OSGi联盟企业专家组(EEG)定义的以应用程序为中心的规范的实现和扩展,以及用于多捆绑应用程序的组装格式,以便将其部署到各种...

    jolokia-extra:Jolokia 的附加组件,HTTP-JMX 桥接器

    jolokia-extra - Jolokia 插件 jolokia-extra的目的是为提供一大堆... 对于 OSGi,您可以直接将jolokia-extra-addon-jsr77.jar到 OSGi 容器。 像往常一样构建代理调用 maven: mvn -Pjsr77 clean install 代理可以在

    org.apache.aries.jmx.blueprint.core-1.0.1.jar

    Aries项目正在提供一组可插入的Java组件,以支持企业OSGi应用程序编程模型。 这包括由OSGi联盟企业专家组(EEG)定义的以应用程序为中心的规范的实现和扩展,以及用于多捆绑应用程序的组装格式,以便将其部署到各种...

    org.apache.aries.jmx.core.whiteboard-1.1.0.jar

    Aries项目正在提供一组可插入的Java组件,以支持企业OSGi应用程序编程模型。 这包括由OSGi联盟企业专家组(EEG)定义的以应用程序为中心的规范的实现和扩展,以及用于多捆绑应用程序的组装格式,以便将其部署到各种...

    org.apache.aries.jmx.blueprint.core-1.1.0.jar

    Aries项目正在提供一组可插入的Java组件,以支持企业OSGi应用程序编程模型。 这包括由OSGi联盟企业专家组(EEG)定义的以应用程序为中心的规范的实现和扩展,以及用于多捆绑应用程序的组装格式,以便将其部署到各种...

    org.apache.aries.jmx.blueprint.api-1.1.0.jar

    Aries项目正在提供一组可插入的Java组件,以支持企业OSGi应用程序编程模型。 这包括由OSGi联盟企业专家组(EEG)定义的以应用程序为中心的规范的实现和扩展,以及用于多捆绑应用程序的组装格式,以便将其部署到各种...

    org.apache.aries.jmx-1.1.0-source-release.zip

    Aries项目正在提供一组可插入的Java组件,以支持企业OSGi应用程序编程模型。 这包括由OSGi联盟企业专家组(EEG)定义的以应用程序为中心的规范的实现和扩展,以及用于多捆绑应用程序的组装格式,以便将其部署到各种...

Global site tag (gtag.js) - Google Analytics