我在哪里可以找到如何远程调用EclipseVirgo中包含的OSGi服务的工作示例?

我在哪里可以找到如何远程调用EclipseVirgo中包含的OSGi服务的工作示例?,osgi,remoting,eclipse-virgo,Osgi,Remoting,Eclipse Virgo,有人能指出关于如何配置EclipseVirgo 3.0x中包含的远程访问服务的分步教程吗?我知道标准是存在的,等等,但我找不到一个例子,它似乎不包含一堆挥手的动作,而不是具体的步骤以及要下载的工作代码/配置。我不在乎这个示例是使用ApacheCXF、EclipseCF还是其他任何东西。我想要的是与RMI等效的传输协议和有线协议都被抽象到客户端和服务器端开发人员都认为是普通Java的后面(有一些自由) 哪些捆绑包必须部署到Virgo中才能支持远程处理?什么样的Spring-ish配置设置有效?客户

有人能指出关于如何配置EclipseVirgo 3.0x中包含的远程访问服务的分步教程吗?我知道标准是存在的,等等,但我找不到一个例子,它似乎不包含一堆挥手的动作,而不是具体的步骤以及要下载的工作代码/配置。我不在乎这个示例是使用ApacheCXF、EclipseCF还是其他任何东西。我想要的是与RMI等效的传输协议和有线协议都被抽象到客户端和服务器端开发人员都认为是普通Java的后面(有一些自由)


哪些捆绑包必须部署到Virgo中才能支持远程处理?什么样的Spring-ish配置设置有效?客户端类路径上必须有哪些JAR?等等,等等?

这可能不是您想要的,但我有充分的理由相信中的远程服务章节中的说明应该适用于Virgo。

我使用了Apache CXF DOSGI,并且非常容易地实现了它

  • 从-I used 1.3.0下载CXF单包分发版
  • 解压缩Virgo(为了简单起见,我使用了内核发行版),将CXF捆绑包复制到pickup,然后启动Virgo:

    $ bin/startup.sh
    [2012-04-04 14:17:33.011] startup-tracker              <KE0001I> Kernel starting. 
    [2012-04-04 14:17:36.135] startup-tracker              <KE0002I> Kernel started. 
    ...
    [2012-04-04 14:17:38.561] sync Event Dispatcher Thread <UR0001I> User region ready. 
    [2012-04-04 14:17:39.565] fs-watcher                   <HD0001I> Hot deployer processing 'INITIAL' event for file 'cxf-dosgi-ri-singlebundle-distribution-1.3.jar'. 
    [2012-04-04 14:17:40.060] fs-watcher                   <DE0000I> Installing bundle 'cxf-dosgi-ri-singlebundle-distribution' version '1.3.0'. 
    [2012-04-04 14:17:40.570] fs-watcher                   <DE0001I> Installed bundle 'cxf-dosgi-ri-singlebundle-distribution' version '1.3.0'. 
    [2012-04-04 14:17:40.593] fs-watcher                   <DE0004I> Starting bundle 'cxf-dosgi-ri-singlebundle-distribution' version '1.3.0'. 
    [2012-04-04 14:17:43.498] start-signalling-1           <DE0005I> Started bundle 'cxf-dosgi-ri-singlebundle-distribution' version '1.3.0'.
    
    并复制到皮卡:

    [2012-04-04 14:29:51.385] fs-watcher                   <HD0001I> Hot deployer processing 'CREATED' event for file 'org.apache.cxf.dosgi.discovery.zookeeper.properties'. 
    [2012-04-04 14:29:51.417] fs-watcher                   <DE0000I> Installing configuration 'org.apache.cxf.dosgi.discovery.zookeeper' version '0.0.0'. 
    [2012-04-04 14:29:51.428] fs-watcher                   <DE0001I> Installed configuration 'org.apache.cxf.dosgi.discovery.zookeeper' version '0.0.0'. 
    [2012-04-04 14:29:51.434] fs-watcher                   <DE0004I> Starting configuration 'org.apache.cxf.dosgi.discovery.zookeeper' version '0.0.0'. 
    [2012-04-04 14:29:51.439] fs-watcher                   <DE0005I> Started configuration 'org.apache.cxf.dosgi.discovery.zookeeper' version '0.0.0'. 
    
    就是这样,但是为了检查它是否工作,剩下的步骤将运行greeter示例

  • 安装/启动迎宾机并将其捆绑到第一个Virgo实例中。最简单的方法是将接口包复制到repository/usr,然后将实现包复制到pickup

  • 安装/启动迎宾器并将其捆绑到第二个Virgo实例中。最简单的方法是将接口包复制到repository/usr,然后将客户端包复制到pickup

  • 当“调用远程迎宾服务”窗口出现时,在名称字段中输入一个字符串(例如“foo”),然后单击“调用”

  • 第一个Virgo实例显示以下跟踪日志消息(在servicability/logs/log.log中):

  • 第二个Virgo实例显示以下跟踪日志消息:

    [2012-04-05 14:14:56.766] INFO  Thread-29                    System.out                                                        *** Invoking greeter *** 
    [2012-04-05 14:14:56.970] INFO  Thread-29                    System.out                                                        greetMe("foo") returns: 
    [2012-04-05 14:14:56.971] INFO  Thread-29                    System.out                                                          Hola foo 
    [2012-04-05 14:14:56.971] INFO  Thread-29                    System.out                                                          Bonjour foo 
    [2012-04-05 14:14:56.972] INFO  Thread-29                    System.out                                                          Hoi foo 
    [2012-04-05 14:14:56.972] INFO  Thread-29                    System.out                                                          Hello foo 
    [2012-04-05 14:14:56.972] INFO  Thread-29                    System.out                                                        *** Opening greeter client dialog *** 
    
  • 查看第二个Virgo实例的服务注册表

    osgi> vsh:service examine 245
    
    Properties:
        endpoint.id:
            http://localhost:9090/greeter
        objectClass:
            org.apache.cxf.dosgi.samples.greeter.GreeterService
        service.id:
            245
        service.imported:
            true
        service.imported.configs:
            org.apache.cxf.ws
    
    Publisher: cxf-dosgi-ri-singlebundle-distribution 1.3.0 [84]
    
    Consumer(s):
        cxf-dosgi-ri-samples-greeter-client 1.2.0 [86]
    
    已在服务注册表中发布远程问候服务


谢谢。我们要这个。不过我还是想要“ECF+处女座的傻瓜”:你有没有试过在网上要求这样的东西?那里的人可能有相关的经验并愿意分享。
Invoking: greetMe(foo)
[2012-04-05 14:14:56.766] INFO  Thread-29                    System.out                                                        *** Invoking greeter *** 
[2012-04-05 14:14:56.970] INFO  Thread-29                    System.out                                                        greetMe("foo") returns: 
[2012-04-05 14:14:56.971] INFO  Thread-29                    System.out                                                          Hola foo 
[2012-04-05 14:14:56.971] INFO  Thread-29                    System.out                                                          Bonjour foo 
[2012-04-05 14:14:56.972] INFO  Thread-29                    System.out                                                          Hoi foo 
[2012-04-05 14:14:56.972] INFO  Thread-29                    System.out                                                          Hello foo 
[2012-04-05 14:14:56.972] INFO  Thread-29                    System.out                                                        *** Opening greeter client dialog *** 
osgi> vsh:service examine 245

Properties:
    endpoint.id:
        http://localhost:9090/greeter
    objectClass:
        org.apache.cxf.dosgi.samples.greeter.GreeterService
    service.id:
        245
    service.imported:
        true
    service.imported.configs:
        org.apache.cxf.ws

Publisher: cxf-dosgi-ri-singlebundle-distribution 1.3.0 [84]

Consumer(s):
    cxf-dosgi-ri-samples-greeter-client 1.2.0 [86]