论坛首页 Java企业应用论坛

Missian 0.31 发布

浏览 3141 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-12-15   最后修改:2010-12-15

Missian已经发布了第四个小版本:0.31版本,正在加紧性能测试,1.0正式版前发布在望了。

 

更新历史

 

0.31 主要更新

1、原异步方式增加对重载方法的支持

2、支持从方法中在最后一个参数传入Callback

3、添加一个Future风格的异步方式。

具体使用方式参见:Missian异步客户端指南

 

0.30 主要更新:

1. 异步回调方式更新:以前是每个方法需要实现一个回调类,回调类要求继承Callback。现在的实现方式是每个interface一个回调类,每个方法在这个回调类里面对应一个回调方法。无侵入性。

 

0.20主要更新点:

提供了HTTP兼容性,Hessian客户端可以调用Missian服务,Missian同步客户端也可以调用Hessian服务了。

 

0.10发布:

实现主要的技术架构和目标。

 

Missian简介

Missian是一个构建于Mina和Hessian基础上的异步RPC框架,能够兼容HTTP协议和TCP协议,能和Hessian互通兼容,它提供了:

 

1、一个基于mina的高性能服务器,具备mina所有的一切优秀基因。Missian服务器能够在一个端口之上兼容tcp和http协议格式,因 此开启了Missian服务之后,即可以用Missian客户端调用(同步/异步,HTTP/TCP),也可以供Hessian客户端调用。

 

2、一个基于阻塞式的传统Socket的同步客户端,同样支持HTTP和TCP,它可以使用HTTP或TCP去访问Missian服务,同时也可以 使用HTTP方式去访问Hessian服务。您可以选择使用短连接的方式,也可以使用长连接(这时强制要求使用连接池,但Missian提供了一个基于 apache commons-pool的Socket连接池实现)。可以根据具体情况决定使用方式。

 

3、一个基于Mina NioSocketConnector的异步客户端。默认使用一个4个线程的线程池来处理回调,但开发者也可以指定线程数,或者传入一个存在的线程池。异 步客户端只能调用Missian服务,而不能够调用Hessian服务(正在思考如何实现)。同样,协议可以是HTTP或者TCP。

   发表时间:2011-02-25  
需要人手吗,我想参与一下....
0 请登录后投票
   发表时间:2011-05-05  
1.0正式版前发布在望了?
搁浅了?
0 请登录后投票
   发表时间:2011-05-06  
一直在期待基于Socket的RPC调用,一直没有等到。

自己封装了一个自定义协议的,不过还是期待支持hessian的。
0 请登录后投票
   发表时间:2011-05-06  
com.missian.client.async.AsyncFuture
        @Override
	public V get(long timeout, TimeUnit unit) throws InterruptedException,
			ExecutionException, TimeoutException {
		lock.lock();
		try {
			[color=darkred]if(!done) {[/color]
				boolean success = notNull.await(timeout, unit);
				if(!success) {
					throw new TimeoutException();
				}
			}
		} finally {
			lock.unlock();
		}
		return value;
	}

	public void done(V value) {
		lock.lock();
		try {
			[color=red]if(!done) {[/color]
				this.value = value;
				this.done = true;
				notNull.signalAll();
			}
		} finally {
			lock.unlock();
		}
		for(AsyncListener<V> listener : listenerList) {
			listener.asyncReturn(value);
		}
	}



中的get和done方法为什么是if而不是while呢?
0 请登录后投票
   发表时间:2011-05-06  
hessian协议一直是个很纠结,1.0和2.0之间协议不兼容,不同版本之间传递数据经常会出现一些不兼容,纠结啊。

可以考虑下protobuf,性能上和传输字节数上,都比hessian要好.测试过程中json的表现也比hessian略好一点,仅供参考: http://agapple.iteye.com/blog/859052

所以作者眼界可以放的更宽点,序列化协议层面上,传输协议层面上(udp)。都可以做下尝试
0 请登录后投票
   发表时间:2011-09-21  
这个项目咋了...  密切##中...
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics