2013-12-01 3 views
0

Мы работаем над веб-приложением, используя Django. Одна библиотека, которую нам нужно было использовать, была написана в java, поэтому я сделал один файл jar, содержащий весь код Java, который нам нужно использовать. Сценарий python просто вызывает программу java с использованием модуля подпроцесса и возобновляет его выполнение.Ведение JVM работает

Каждый раз, когда вызывается программа java, она инициализирует jvm, выполняет небольшую работу и затем сама инициализирует себя. Это вводит некоторые накладные расходы, которые, возможно, не столь значительны в конце, но тем не менее придется проходить через этот контур/уничтожать круг каждый раз, когда нам нужно что-то из библиотеки java, беспокоит меня.

Есть ли элегантный способ сделать это без накладных расходов, которые я только что описал выше?

ответ

1

Не исправляя python, чтобы он этого не делал, вы можете запустить Java-сервис, который вызывает ваш код, и поговорить с ним на Python через TCP, например. используя protobuf. Таким образом, служба может работать постоянно.

Смежные вопросы