Если JNI или swig нежелательны или кажутся слишком низкими,
Действительно тупой подход - это обернуть .cpp в программу на c / c ++ и создать .exe, который выдает дамп в stdout / file. Затем выполните это в Java с помощью внешней команды оболочки.
Еще одна хорошая альтернатива -
Apache thrift
Это в основном обрабатывает все и, так сказать, везде (работает путем автоматической генерации кода для целевых языков), и я обычно рекомендую это в ситуациях RPC. Однако может потребоваться больше затрат на установку (в конце концов, это зависит от ваших реальных потребностей) - также, поскольку вам нужно разместить .cpp в службе, в вашем случае - локально.