использование собственного кода в сервлетах Java (на стороне сервера) - PullRequest
2 голосов
/ 23 сентября 2011

У меня есть библиотека c, которую я использую в своем приложении на различных платформах. В настоящее время я планирую разработать веб-сервис с использованием той же библиотеки c, используя JNI. Я буду размещать этот веб-сервис на каком-либо сервере приложений (планируя использовать weblogic на компьютерах с Linux).

Есть ли у кого-нибудь опыт использования нативного кода на Java-сервере. Эффективен ли этот подход? Будут ли у меня проблемы в будущем?

Ответы [ 2 ]

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

Общее правило заключается в том, чтобы держать вашу логику внутри собственного кода и избегать множественных вызовов jni (которые обычно стоят дорого с точки зрения производительности, больше, чем та же логика, реализованная только в Java). Но, как всегда, это сильно зависит от вашего дизайна и имеющихся у вас узких мест (io, процессор, сеть и т. Д.). Надеюсь, это поможет.

0 голосов
/ 23 сентября 2011

Я использую нативный API JNI с Glassfish. Самая большая проблема заключается в том, что в случае сбоя кода C весь сервер приложений мгновенно умирает, без постепенного завершения, трассировки стека или чего-либо еще.

Я бы держал как можно меньше на стороне C, так как с Java будет намного проще работать. Если у вас есть проблемы с производительностью, оптимизируйте позже.

...