Как я могу реализовать vtable COM-интерфейс в Java?
В старые времена я использовал JVM от Microsft, которая была встроена в java-COM-взаимодействие. Что эквивалентно современному JRE?
Ответы на аналогичный ТАК вопрос предложенный JACOB. Я посмотрел на JACOB, но он основан на IDispatch и нацелен на управление анализаторами автоматизации. COM-интерфейсы, которые мне нужны, являются настраиваемыми vtable (расширение IUnknown), например, IPersistStream, IOleWindow, IContextMenu и т. Д.
Для моего случая использования я мог бы реализовать все особенности COM в JNI, и чтобы уровень JNI вызывал соответствующие интерфейсы в Java. Но я надеюсь на менее болезненное решение.
Это для проекта с открытым исходным кодом, поэтому предпочтительны альтернативы с открытым исходным кодом.
РЕДАКТИРОВАТЬ: Com4j выглядит многообещающе. Просматривая доступные документы, он не поддерживает регистрацию IClassFactory, поэтому экземпляры COM-объекта (в java) могут быть созданы не-java-клиентами.