Announcing GA of VI Java API 5.1 Supporting vSphere 5.1

It’s been two months since I announced beta of VI Java API 5.1 supporting vSphere 5.1 on September 23. I got many emails asking for the GA date from ISVs and IHVs as the API is now a corner stone in their products. With the long (could be longer, BTW) Thanksgiving holidays, I got some time to review the fixes and release the GA version. I intended to announce it yesterday but somehow extra spam comments pushed the database behind over 100MB limit thus I could not post any new article.

There were two regressions in the beta of 5.1. One regression was caused by the missing of the hashCode() and equals() methods in the ManagedObjectReference class. It’s not a problem unless you compare two managed objects, or use the caching framework which relies on the hashCode() and equals() methods to determine whether a managed object is already in the cache (essentially hash tables in implementation).

Bothered by SLOW Web UI to manage vSphere? Want to manage ALL your VMware vCenters, AWS, Azure, Openstack, container behind a SINGLE pane of glass? Want to search, analyze, report, visualize VMs, hosts, networks, datastores, events as easily as Google the Web? Find out more about vSearch 3.0: the search engine for all your private and public clouds.

The other regression manifested itself in the queryVmfsDatastoreCreateOptions() method defined in HostDatastoreSystem. Somehow I forgot to change the array size from 3 to 2, therefore the 3rd element in the array caused NullPointerException during execution. From this, you know manual process can be error prone no matter how careful I was.

Another bug fix is the missing getSummary() method on VirtualApp which is a sub type of ResourcePool type. There was a method defined on the parent type ResourcePool already but the return type is ResourcePoolSummary. While calling the inherited getSummary() with a VirtualApp object, you want to case the ResourcePoolSummary type down to its sub type VirtualAppSummary if you want to access VirtualApp specific properties. It’s doable but not quite convenient, therefore I added an overridden method getSummary() in the VirtualApp class. Given how vSphere API is designed there may be several other similar cases. Please feel free to file a bug.

In the beta announcement post, I mentioned the new base64Binary type sneaking into the vSphere API 5.1. It can definitely be supported, but need quite some effort to make it work. Luckily it’s pretty much isolated to very small part of the API. This buys me some time to do it right in the future.

Enough being said. It’s time to give it a try. To download the jar files, please click here.

This entry was posted in vSphere API and tagged , . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.


  1. Posted November 27, 2012 at 12:43 am | Permalink

    [DoubleCloud] Announcing GA of VI Java API 5.1 Supporting vSphere 5.1

  2. Posted November 27, 2012 at 1:36 am | Permalink

    Announcing GA of VI Java API 5.1 Supporting vSphere 5.1 (DoubleCloud)

  3. Posted November 27, 2012 at 6:36 am | Permalink

    “@sjin2008: [DoubleCloud] Announcing GA of VI Java API 5.1 Supporting vSphere 5.1” – Great work Steve!

  4. santhosh
    Posted November 28, 2012 at 8:23 am | Permalink

    Hi Steve ,

    I am getting performance metrics from vcenter, from esxi server not getting that information.For getting performance metrics form ESXi can we need license compulsory? Please provide information about this.

    thanks you

  5. Sebastian
    Posted November 28, 2012 at 2:59 pm | Permalink

    When will the GA version of VI Java API 5.1 be updated in the Maven reps?

    Best regards and thanks for the hard work on this release!

  6. Posted December 7, 2012 at 7:05 pm | Permalink

    yea, I am still using the 5.1-beta from maven. Any chance you can update maven central?

  7. Daniel
    Posted January 22, 2013 at 10:50 am | Permalink


    Thanks for vijava, it’s really a great lib !

  8. Posted January 22, 2013 at 11:09 am | Permalink

    You are welcome Daniel, I am glad you and others like it.

  9. Paul
    Posted January 23, 2013 at 7:04 am | Permalink

    Thanks for all the work you do on this Steve, it is essential for my work! Do you have any plans for submitting the GA to maven central?

  10. Posted January 23, 2013 at 11:46 am | Permalink

    Hi Paul, I am glad you like it. I don’t have a plan yet. Is it something you can help? :-)

  11. Posted July 9, 2013 at 3:52 pm | Permalink

    Seems that com.vmware:vijava:5.1 is in Central now—great! Anyone still using artifacts with the com.cloudbees.thirdparty groupId should switch. (I published a Maven relocation for this version.)

2 Trackbacks

  • […] in their products. With the long (could be longer, BTW) Thanksgiving holidays, I got some […]Announcing GA of VI Java API 5.1 Supporting vSphere 5.1 originally appeared on DoubleCloud by Steve Jin, author of VMware VI and vSphere SDK (Prentice […]

  • By Big Data or Big Junk? | on December 8, 2012 at 6:45 pm

    […] weeks I got a problem with my blog site. Somehow I could not post to announce the GA of open source ViJava API for vSphere 5.1 there. After searching and researching, I found […]

Post a Comment

Your email is never published nor shared. Required fields are marked *


You may use these HTML tags and attributes <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>


    My company has created products like vSearch ("Super vCenter"), vijavaNG APIs, EAM APIs, ICE tool. We also help clients with virtualization and cloud computing on customized development, training. Should you, or someone you know, need these products and services, please feel free to contact me: steve __AT__

    Me: Steve Jin, VMware vExpert who authored the VMware VI and vSphere SDK by Prentice Hall, and created the de factor open source vSphere Java API while working at VMware engineering. Companies like Cisco, EMC, NetApp, HP, Dell, VMware, are among the users of the API and other tools I developed for their products, internal IT orchestration, and test automation.