If you have the money, you might look at Tuxedo and Java Jolt.
Tuxedo allows you to provide C++ code in the form of services, and Jolt allows you to create your Tuxedo output as a Java class, instead of having to parse through a buffer.
Again, it will cost some money, but it performs well, and it's tried and true reliable.