Да, ActiveMQ-CPP
CMS - хороший вариант для интеграции нашего унаследованного кода C.
но я также сделал интеграцию кода c с java (JMS)
как listener(Replier)
, используя JNI
и вызванную функцию c из слушателя java.
В нашем случае у нас есть слушатель java, который активно прослушивает сообщение от брокера activemq, затем передает это сообщение собственной функции c, используя JNI
, и ответное сообщение от функции c снова отправляется обратно брокеру activemq
, используя getJMSReplyTo
и getJMSCorrelationID
.
мы выполнили оба подхода: он прослушивает сообщение от брокера AMQ, передает сообщение функции c и отправляет обратно обработанное / обработанное сообщение брокеру AMQ.
однако мне интересно знать о нижеследующих пунктах
- какой вариант будет лучшим и почему?
- если мы перейдем на Java & C с использованием JNI, возникнут ли какие-либо проблемы с производительностью или параллелизмом для вызова разделяемой библиотеки c (библиотеки .so) из Java?