Nashorn 访问 Java 对象的方法

Nashorn access Java object's methods

我有下面的代码,是class定义bean,创建bean时RabbitTemplate注入的地方:

public class A {
    private RabbitTemplate rabbitTemplate;

    public A(RabbitTemplate rabbitTemplate) {
         this.rabbitTemplate = rabbitTemplate;
    }

    public void sendMessage(Message message) {
         ...
         rabbitTemplate.send(message);
         ...
    }

    public void receiveMessage(Message message) {
        ...
        invocable.invokeFunction("main", message.toJSObject());
        ...
    }
}

receiveFunction 当我们在队列中获取一些消息时运行,它调用在 javascipt 代码中定义并加载到 ScriptEngine 的函数 main。 我希望能够从 javascript 代码中调用函数 sendMessage。 我该怎么做?

使用ScriptContext

解决
engine.getBindings(ScriptContext.ENGINE_SCOPE).put("A", this);