RT
6 回复
跟其他集成问题一样, 只要该rpc框架不是强制依赖nutz无法提供的东西(例如有些框架必须用spring)就可以
昨晚尝试集成zbus, 套路都是一样:
1. 把spring ioc文件的定义用nutz ioc表达出来
2. 或者, 把演示的API调用, 用factory定义出来
看一个演示, 注意type是被注释了
sayHelloWorld : {
//type : "net.wendal.nutzbook.zbus.SayHelloWorld", // 被代理的接口,不需要写
factory : "$rpc#getService", // $rpc 指向rpc这个bean(即上面声明的RpcFactory的实例), 通过其getService方法获取
args : ["net.wendal.nutzbook.zbus.SayHelloWorld"] // 这里需要传被代理的接口的名称
}
还原为Java代码:
// 假设rpc已经存在于上下文,且类型是RpcFactory
rpc.getService("net.wendal.nutzbook.zbus.SayHelloWorld");
// 如果查看API会发现getService的参数其实是Class, 不过Nutz已经帮你转好类型, 真实调用的是
rpc.getService(Class.forName("net.wendal.nutzbook.zbus.SayHelloWorld"));
zbus的集成,可以参考本站源码(内嵌服务器+RPC服务端+RPC调用端) 中的 zbus-*.js 及MainSetup中的初始化代码
@wendal
这种写法是类似 把通过这种方式rpc.getService(Class.forName("net.wendal.nutzbook.zbus.SayHelloWorld"));
同时把sayHelloWorld 也加载到Ioc中么
```
sayHelloWorld : {
factory : "$rpc#getService", // $rpc 指向rpc这个bean(即上面声明的RpcFactory的实例), 通过其getService方法获取
args : ["net.wendal.nutzbook.zbus.SayHelloWorld"] // 这里需要传被代理的接口的名称
}
``````
单独开了个帖子说 工厂方法了
构造方法-------------------||
当前类的静态方法--------||||||
||||||||||||||||||||| 生成对象的不同方式而已
工厂类的静态方法----- --||||||
其他bean的实例方法-- -||
添加回复
请先登陆