我正在尝试向我的Java类提供JRuby回调,因此当我的程序的Java部分(a OrientDB Java Hook)发生事件时,我会收到通知。
JRuby wiki提供examples演示如何加载JRuby文件并在Java中运行它们,但在我的例子中,Ruby代码已经在同一个JVM中,我只需要向现有的Ruby对象发送信号
假设我在内存中加载了ruby类:
class A
def self.b
puts 'ruby called'
end
end
如何从Java方法中调用A.b
?
答案 0 :(得分:0)
原来我可以在这种情况下使用JRuby。
对于OrientDB嵌入示例,我可以传递一个ruby类
而不是Java类class H < com.orientechnologies.orient.core.hook.ORecordHookAbstract
def onRecordAfterCreate(r)
puts r
end
end
到API并让Java代码调用Ruby。