最近由于继续做在职研究生的毕业论文,在openstack上下了一些功夫,做了一个基于openstack的弹性扩展的小程序,中间需要调用Ceilometer的API接口对虚拟机的cpu使用效率做监控。试用了几乎所有的openstack的java API开发包,其中jclouds没有Ceilometer的API接口,openstack-java-sdk的Ceilometer支持很差,基本无法使用,所有最终选择了openstack4j。它的API还是比较好用,底层用了jersey。但是在调用Ceilometer的时候遇到了一个小小的bug(https://github.com/gondor/openstack4j/issues/24),Ceilometer的REST API接口返回了XML格式的结果,导致程序无法自动匹配模型类的属性。几经debug找到了问题的罪魁祸首,原因是源代码中WebTarget.request();没带参数,无法设置请求头中的Accept属性。最近由于继续做在职研究生的毕业论文,在openstack上下了一些功夫,做了一个基于opens