У меня есть библиотека Java, которая использует Jython, чтобы пользователи могли добавлять пользовательские скрипты для взаимодействия с определенными частями библиотеки.Как заставить скрипт Jython синхронно вызывать метод Java?
После Java дают данные на скрипты легко, но давайте скажем, я хочу следовать этому образцу на одного из сценариев Jython:
data = do_stuff()
# Heavy lifting! have the java lib do this
results = java_lib_help_me_out(data)
do_stuff_with_results(results)
Можно ли сделать это легко? Я понимаю, что я могу сделать библиотеку выступать в качестве службы и использовать REST для внутренней связи, или я могу использовать обратные вызовы и сделать процесс немного более окольным:
data = do_stuff()
#heavy lifting
java_lib_help_me_out(data, callback)
...
def callback(results):
do_stuff_with_results(results)
Есть ли лучший способ сделать это?
Я думаю, что, возможно, мне было очень плохо смотреть документацию по Jython, но я нашел это: http://www.jython.org/archive/21/docs/usejava.html. Я думаю, по какой-то причине у меня создалось впечатление, что вы не можете «просто называть java-функции в Jython», но я был неправ? – cabbagebot