`
fancyboy2050
  • 浏览: 238818 次
  • 性别: Icon_minigender_1
  • 来自: 皇城根儿下
社区版块
存档分类
最新评论

hessianorb c++调用java尝试

阅读更多
google code: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 -classpath  path-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
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics