Java COM мост - PullRequest
       11

Java COM мост

3 голосов
/ 04 сентября 2011

У меня есть программа со сверхнизкой задержкой, и мне нужно взаимодействовать с компонентом Windows COM.Какой самый быстрый способ сделать это?Используя COM-мост, такой как JACOB, или создайте собственную COM-библиотеку и отправляйте сообщения, используя шину обмена сообщениями, такую ​​как ZeroMQ?

1 Ответ

1 голос
/ 04 сентября 2011

Если вы используете ZeroMQ, вы будете иметь дело с двумя процессами. А передача сообщения от одного процесса другому стоит дороже, чем делать то же самое в одном и том же процессе. Таким образом, использование Java COM-моста, несомненно, приведет к снижению задержки.

Сказав это, однако, это актуально, только если вы имеете дело с чрезвычайно низкой задержкой. Если ваш COM-компонент уже имеет задержку, в несколько раз превышающую межпроцессную передачу сообщений (например, из-за того, что он получает и пересылает сообщения по сети или выполняет дорогостоящие вычисления), тогда любой из этих вариантов будет приемлем, поскольку они оба оказывают незначительное влияние на общее состояние. латентность.

Обратите внимание, что JACOB не поддерживает все компоненты COM, только те, которые имеют интерфейс автоматизации COM. Поэтому вам может понадобиться использовать другой COM-мост Java, например JCom.

...