王洪伟的专栏

http://blog.teamlet.org 本站搜索关键字:王洪伟+teamlet

王洪伟ID:teamlet
162892次访问,排名454好友1人,关注者51
10年软件开发设计经验,专注J2EE领域的技术架构和应用.
teamlet的文章
原创 100 篇
翻译 9 篇
转载 67 篇
评论 145 篇
teamlet的公告

本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享. 转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议.

关注SOA技术的发展,跟进SCA技术的理论和实现,努力实践。愿与同行者一起分享,互相勉励,共同进步。
最近评论
zhi:您好!!
能不能给我也发一份源码过来!谢谢
zhi@tuanke.net
lai:2008-9-4 13:52:56 org.apache.catalina.core.ApplicationDispatcher invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.IllegalStateException: getOutputStream() has alread……
lai:2008-9-4 13:52:56 org.apache.catalina.core.ApplicationDispatcher invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.IllegalStateException: getOutputStream() has alread……
lai:2008-9-4 13:52:55 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet AxisServlet threw exception
java.lang.NullPointerException
at org.apache.axi……
邓醒波:前辈,谢谢你帮我解决了不少问题。那个调试错误的是别人代码的一些小错误,不过今天你帮我发现了,谢谢。
文章分类
收藏
    相册
    资源联接
    Cruise Control
    Open CSA
    OSOA
    SOA Tools Project
    theserverside
    中国Java开发网
    满江红
    知识共享@中国大陆
    左邻右舍
    donews的blog
    msn的blog
    Tuscany中文社区
    我用Subversion
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 最简单的例子:Equinox 之 Hello World收藏

    新一篇: 在eclipse中实现一个equinox环境下的Hello World | 旧一篇: 什么是 Software Development Model

     

     

    OSGi框架有三种开源实现来选择:Apache Felix,Knopflerfish和Equinox。这里写的代码在上面的三个实现任意一个上运行都没问题,只是在启动指令上有一些不同。

    在这里使用的是Equinox。

    一、环境准备

    默认已经安装了Java 1.5以上的开发环境。

    1、核心框架

          如果链接有问题请访问 http://download.eclipse.org/eclipse/equinox/
    
    • 或者你已经安装了eclipse,那么可以在eclipse的安装目录下的plugins目录中找到org.eclipse.osgi_3.3.1.R33x_v20070828.jar

    2、目录设置

    在C:\下创建目录 osgi-dev,将 org.eclipse.osgi_3.3.1.R33x_v20070828.jar 复制到 C:\osgi-dev 目录中。

    二、与OSGi "第一次接触"

    1、最小的OSGi运行环境

    在命令提示符下进入C:\osgi-dev 目录,执行以下命令:

    > java -console -jar org.eclipse.osgi_3.3.1.R33x_v20070828.jar

    几秒钟,osgi>提示符显示出来。

    在osgi>提示符下执行 ss :

     osgi>ss

    显示:

    C:osgi-dev>java -console -jar org.eclipse.osgi_3.3.1.R33x_v20070828.jar 
        
    osgi> ss
         
    Framework is launched.
         
    id      State       Bundle
    0       ACTIVE      org.eclipse.osgi_3.3.1.R33x_v20070828
       
    osgi>

    这是最小的OSGi运行环境:equinox 正在运行!

    为了保持命令的简短,将org.eclipse.osgi_3.3.1.R33x_v20070828.jar重新命名为equinox.jar。

    > java -jar equinox.jar –console

    2、编写Hello World的Bundle

    • 在C:\osgi-dev目录下创建一个文件,名为 HelloActivator.java

    内容为:

    import org.osgi.framework.*;
     
    public class HelloActivator implements BundleActivator {
      
    public void start(BundleContext context) {
        System.out.println(
    "Hello World!");
      }
     
      
    public void stop(BundleContext context) {
        System.out.println(
    "Goodbye World!");
      }
    }
    • 在C:\osgi-dev目录下创建另一个文件,名为 HelloWorld.mf

    内容为:

    Manifest-Version: 1.0
    Bundle-Name: HelloWorld
    Bundle-Activator: HelloActivator
    Bundle-SymbolicName: HelloWorld
    Bundle-ClassPath: .
    Bundle-Version: 
    1.0.0
    Import-Package: org.osgi.framework
    • 在osgi>提示符下,执行close命令:
    osgi>close

    退出equinox环境。

    • 使用下列命令编译java文件并建立Jar文件:
    > javac -classpath equinox.jar HelloActivator.java
    > jar -cfm HelloWorld.jar HelloWorld.mf HelloActivator.class
    • 再次进入equinox环境,并执行 ss 命令:
    > java -jar equinox.jar –console
     
    osgi>ss

    会发现没什么变化,接下来执行install命令并附带参数:

    osgi>install file:HelloWorld.jar

    显示:

    Bundle id is 1

    执行ss命令:

    osgi>ss

    显示:

    Framework is launched.
     
    id      State       Bundle
    0       ACTIVE      org.eclipse.osgi_3.3.1.R33x_v20070828
    1       INSTALLED   HelloWorld_1.0.0
       
    osgi>

    执行start 1命令: 

    osgi>start 1

    显示:

    Hello World!

    osgi>

    执行close命令:

    osgi>close

    显示:

    Goodbye World!

    至此,完成了一个在OSGi的equinox实现环境下的最简单的bundle。

    发表于 @ 2007年12月30日 22:54:00|评论(loading...)|编辑

    新一篇: 在eclipse中实现一个equinox环境下的Hello World | 旧一篇: 什么是 Software Development Model

    评论:没有评论。

    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © teamlet