Давайте предположим, что у меня есть фреймворк, написанный на Java, и немного кода на C ++, который выполняет ресурсоемкую работу.- Каркас инициализирует цепочку обработки на основе конфигурации базы данных.Единицы обработки (этой цепочки) написаны на C ++.Каждый модуль реализует следующий интерфейс:
class IModule {
public:
virtual ~IModule() {};
virtual bool setConfig(ModConfig* config) = 0;
virtual map<string*,string*>* getStatus() = 0;
};
Я хочу, чтобы разработчики могли реализовать интерфейс IModule на C ++ и создать запись в базе данных, содержащую имя класса.Затем инфраструктура Java автоматически загружает этот класс.- Цель не должна состоять в том, чтобы писать дополнительный связывающий код ни в C ++, ни в Java.Как видно из интерфейса, метод setConfig () получает объект типа ModConfig.Это означает, что должна быть возможность создать экземпляр этого объекта C ++ в Java.
Я оценил следующие технологии: - JNA: только C -> требуется дополнительный код привязки - JNIEasy: сопоставляет объект с объектом напрямую - SWIG: сопоставление объекта с объектом напрямую - BridJ: сопоставление объекта с объектом напрямую - JNI: может быть, решение проблемы?
Резюме: - Загрузить класс C ++ по имени из Java.- Создание объекта C ++ в Java.
Я не ожидаю, что кто-нибудь предоставит мне код.Просто направьте меня в правильном направлении (технология).
Заранее спасибо