zoukankan      html  css  js  c++  java
  • osgi dm

    看了http://developer.51cto.com/art/200909/154863.htm 真心感到,最强大最有组织的技术网站还是 51cto,牛人应该也是最多的。

    以前逛51cto的比较少,罪过。。。。 

    吐槽:

    参照http://developer.51cto.com/art/200909/154757.htm来搭建基于osgi的spring dm环境, 不过实在是搞不定,费心费力,几个月过去了的今天,终于搞定了—— 真tm坑爹,原来里面的spring dm版本是1.0.2

    而这个版本下载不了,从而找不到文章里面描述

    org.springframeork.bundle.spring.aop   等等jar

    下载了2.0 也找到‘对应’的jar,作为plugin 导入进来,却,无论如何不能达到描述的效果,不能使dm生效,后面干脆把lib下的所有的jar全部导入,这样却就ok,内牛满面!

     构建osgi - spring dm:(其实主要就是准备好jar。)

    A下载Spring DM框架spring-osgi-2.0.zip,

    B 解压抽取dist下面的jar:Spring DM提供的三个OSGi专用的Spring套件/JAR:

    1. org.springframeork.osgi.bundle.extender  
    2. org.springframeork.osgi.bundle.core  
    3. org.springframeork.osgi.bundle.io

    以plugin 方式导入F:wsspring-osgi-2spring-osgi-2.0.0.M1dist的上面的三个jar,

    C 同样方式导入F:wsspring-osgi-2spring-osgi-2.0.0.M1lib 下面所有的jar, 其实不用导入jetty相关的,不过导入也是没关系的。 

    简单来说,这样就可以了! 不过启动后可能会出现:

    osgi> log4j:WARN No appenders could be found for logger (org.springframework.osgi.extender.internal.boot.ChainActivator).
    log4j:WARN Please initialize the log4j system properly.

    这是由于没配置好osgi log框架引起的。后面接着配置osgi log

    Osgi Spring Dm的机制

    对于Spring动态模型,在启动时,org.springframeork.osgi.bundle.extender 查询所有处于解析(resolved)状态以了解它们是否由Spring提供(Springpowered)。如果套件具有Spring-Context 清单头(manifest header),或者在其 META-INF/spring  文件夹中包含 XML 文件,extender 套件将认为该套件是由Spring提供的

    各个基本spring dm jar的作用:

    Osgi Spring Dm是直接基于org.eclipse.osgi_3.4.0.v2-xxx.jar的, 和其他osgi bundler 不发生关系。 和Activator没关系

     就是说, Activator启动是否成功,跟Osgi Spring Dm是否能够运行没有关系。

    2 如果Osgi Spring Dm 环境没搭建好(相关jar未导入),或者 META-INF/spring 配置有误,或者 META-INF/spring 里面的bean对应的类找不到,则 , Osgi Spring Dm框架不会生效。 —— 如果此时,osgi log也没有配好,则看不到任何dm输出,这是非常非常坑爹的。——没有任何输出,导致我 都不知道到底哪里出了问题。。。

    3  如果Osgi Spring Dm 环境配置好了, 则META-INF/spring  文件夹中包含的 XML 文件自动生效。

      

    osgi> log4j:WARN No appenders could be found for logger (org.springframework.osgi.extender.internal.boot.ChainActivator).
    log4j:WARN Please initialize the log4j system properly.
    start osgi ! 
    Hello Spring World!! 
    toString :: first name : aa -- last name :bb

    另外参见:

     http://chenjumin.iteye.com/blog/819070

  • 相关阅读:
    nginx location指令详解
    nginx日志模块、事件模块
    nginx核心模块常用指令
    Thinkphp <= 5.0.10 缓存导致的Getshell
    Thinkphp 3.2.3 bind注入 update/insert
    Thinkphp 3.2.3 where注入 select/delete
    Thinkphp 3.2.3 parseWhere设计缺陷导致的exp注入 (三)
    Thinkphp 3.2.3 parseWhere设计缺陷导致的exp注入 (二)
    Thinkphp 3.2.3 parseWhere设计缺陷导致的exp注入 (一)
    PHP POP 链
  • 原文地址:https://www.cnblogs.com/FlyAway2013/p/3775688.html
Copyright © 2011-2022 走看看