我正在尝试在项目中添加对Groovy Objects的支持。
在我的Groovy脚本中,我面临着GroovyCastException。
Script1.groovy
while True:
if pin15.read_digital() == 1 & pin16.read_digital() == 0:
pin1.write_analog(180)
pin2.write_analog(95)
time.sleep(500)
pin2.write_analog(90)
elif pin15.read_digital() == 0 & pin16.read_digital() == 1:
pin1.write_analog(70)
pin2.write_analog(180)
time.sleep(500)
pin2.write_analog(90)
到目前为止,它工作正常,但是后来,在另一个脚本中,我尝试分配该值。
Script2.groovy
Foo f = new Foo() // <--- Foo is a Groovy class of mine
execution.setVariable('foo', f); // <--- saving the object in Activiti execution context
GroovyCastException发生在这里。这是因为在Script1中,我调用VariableScope#setVariable()来使用Activiti类加载器加载该类,但是在Script2中,它是我的自定义类加载器,用于加载该类。
因此,我的问题是,可以使用我自己的类加载器覆盖Activiti类加载器吗?如果是,我应该遵循哪些准则?