Я бы хотел добавить функциональность сценариев в приложение, работающее в контейнере Java EE. API javax.script кажется идеальным, поскольку я могу поддерживать несколько языков с одним API; Суть в том, что сценарии могут исходить из ненадежных источников, поэтому мне нужно ограничить то, что они могут делать. Вот мои требования:
- Одновременно выполняется несколько сценариев.
- Скрипты не взаимодействуют друг с другом.
- Скрипты не имеют доступа к JVM или коду приложения Java.
- Скрипты не имеют доступа к базовой платформе (файловая система и т. Д.).
- Скрипты не имеют доступа к сети.
Если я могу разрешить конкретные исключения, это здорово, но это не обязательно.
Можно ли это сделать вообще через API сценариев Java? Можно ли это сделать на более низком уровне путем настройки поставщиков сценариев? Есть ли лучший способ выполнить то, что я хочу?