View Source

Venus 最新版本 2.2.3发布,本次积累前面很多版本,目前达到版本稳定状态,积累了前面很多的功能

h4. 一、新增功能介绍

1、venus能够通过Http协议暴露服务,新功能的详细介绍请参阅wiki

2、Performance Logger可以通过 endpoint进行定义,具体如下:
{code:lang=xml|title=venus service 端 performanceLogger 设置}<endpoint name="getHello" interceptor-stack="helloService-stack" >
<performanceLogger>
<property name="info">2000</property>
<property name="warn">5000</property>
<property name="error">7000</property>
<property name="printParams">true</property>
</performanceLogger>
</endpoint>{code}
相应的log4j配置:
{code:lang=xml|title=log4j} <logger name="venus.service.performance" additivity="false">
<level value="debug"/>


<!-- 这儿自己设置需要输出的地方 -->
<appender-ref ref="PROJECT-CONSOLE"/>
</logger>{code}
3、新增加内置service,该service将自动加载成为一个服务,接口如下:
{code:title=Venus.MonitorService}@Service(name="Venus.MonitorService",version=1,singleton=true)
public interface MonitorService extends SystemService{

@Endpoint(name="getSerivces")
public List<ServiceBean> getSerivces();

@Endpoint(name="getServerStatus")
public ServerStatus getServerStatus();

@Endpoint(name="getVersion")
public String getVersion();

}
{code}
4、venus支持序列化Exception的其他属性(符合javabean的规范,有包含有get、set方法的属性将会序列化到客户端)

5、venus validator的一些性能将有所提升

6、venus支持自定义数据结构的序列化器提供注册方法,具体如下:
* 首先需要编写自动加载的文件,该文件应该在 META-INF/venus.io.extension.ini
* 该文件提供3个section,分别是:&nbsp;\[json.encoder\] 、\[json.decoder\]、\[bson\],具体格式参阅下面内容:
{code:title=venus.io.extension.ini 文件内容:}[json.encoder]
org.xmpp.packet.Message=com.meidusa.venus.extension.xmpp.io.json.PacketSerializer

[json.decoder]
org.xmpp.packet.Message=com.meidusa.venus.extension.xmpp.io.json.PacketDeserializer

[bson]
org.xmpp.packet.Message=com.meidusa.venus.extension.xmpp.io.bson.PacketObjectSerializer
{code}
* \[json.encoder\] 后面的PacketSerializer,需要实现接口:com.meidusa.fastjson.serializer.ObjectSerializer
* \[json.decoder\] 后面的ObjectDeserializer,需要实现接口:com.meidusa.fastjson.parser.deserializer.ObjectDeserializer
* \[bson\] &nbsp;的需要实现接口:com.meidusa.fastbson.serializer.ObjectSerializer

7、venus eclipse插件,通过该插件可以将接口自动生成venus service接口(自动填写annotation相关内容),具体参阅venus的wiki

h4. 二、bug修复

1、修复fastjson序列化的时候,由于采用threadlocal cache住永不收缩的buffer,在大数据量传输的时候导致内存问题

h4. 三、其他改动:

1、venus-helloworld源代码迁移至:&nbsp;svn://svn.hexnova.com/venus/venus-helloworld

2、venus-hsb将成为独立项目,源代码也将从venus的项目中剥离