hessianorb c++调用java尝试

googlecode:http://code.google.com/p/hessianorb/

硬件:redhat64

需要软件环境:apache-ant,C++发送http请求调用java需要安装liburl

若没有ant,需要先安装

wget  http://apache.etoak.com/ant/binaries/apache-ant-1.8.1-bin.tar.bz2
解压tar -jxvf  apache-ant-1.8.1-bin.tar.bz2
mv apache-ant-1.8.1  /usr/java/
vim /root/.bash_profile
在文件中添加环境变量
ANT_HOME=/usr/java/apache-ant-1.8.1
PATH=在最后面添加:$ANT_HOME/bin
source   /root/.bash_profile
ant -version 测试ant安装是否成功

安装hessianorb

svn checkout http://hessianorb.googlecode.com/svn/trunk/
cd trunk/
mkdir build
cd build/
cmake ..
make

安装完成后,需要通过java接口生成对应的C++对象

../build/hessianc-classpathpath-to-compiled-Java-code【编译后的class文件所在的路径】echo【生成的C++对象的namespace】com.example.echo.EchoService【class文件,带包名路径】

测试结果:

1:支持类型

byte[],char,double,enum,long,String,int,Object这些java的数据类型都能够正常支持;

List<E>list的E只能是比较简单的数据类型【基本类型,简单对象等】,如果E里面还包含有List对象的属性则不能支持,但可以包含其他简单对象

java.util.Date类型在作者提供的wiki里是表示支持的,我们的测试中没有通过

2:测试性能

和正常情况下使用hessian,java远程调用java的性能差不多,并发达到5000/s

相关推荐