我有以下代码,它是定义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
。
我该怎么办?
答案 0 :(得分:1)
使用ScriptContext
engine.getBindings(ScriptContext.ENGINE_SCOPE).put("A", this);