Bundle之间的通信

上一篇日志已经将一个War bundle注册成一个Spring Bean。现在我们需要bundle之间能通信,即能相互调用对方提供的服务。

先看一下MainServcieImpl目前的内容,因为后面该类的内容需要做更改:

image我们增加一个将input反转的方法,但是这个方法是别的bundle里面的service提供的,从而我们必须再新建一个plug-in工程。

这是新工程的目录结构:

image 这是一个普通的bundle。这是不再赘述生成过程。

现在来看GWTPartition.war的目录结构:

image 为了增加对spring的支持,需要更改配置文件web.xml:

image 此时需要根据用到的类引入相关的包,例如:org.springframework.osgi.web.context.support,同时必须增加配置文件mainServlet-servlet.xml这个配置文件,注意名称mainServlet与上面<servlet-name>元素的值必须一致。同时还需要一个applicationContext.xml文件,名字也是固定的。在mainServlet-servlet.xml这个配置文件里面,将配置一个controller来转发请求:

image下面是applicationContext.xml文件的内容,相当于bean.xml:

 image

下面是GwtRpcController的内容:

image

image这两幅图片是同一个类的代码,因为在一个截图里面显示不全。在这里,动态注册mainService这个field,并将请求转发到个field引用的service里面去。

此时MainServiceImpl的构造方法为(注意上述applicationContext.xml与mainServlet-servlet.xml中constructor-arg):

image

而此时greetServer方法的内容(片段)为:

image在这里就调用ReverseService的reverse方法。

最后运行结果图:

image疏漏之处,在所难免,恳请指正。

Best Regards

胡靖飞

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值