전자 메일로 직접 문의 하시겠습니까? :-)
나는 그 XML Lang 지원이 매우 마력 적이라는 것을 알았다. BeanDefinition
및 그 attributes
을 기반으로하는 충분한 내용이 있습니다. 추가로 lang:property
의 경우 ProxyFactory
및 CGLIB
의 일부 후크가 있습니다.
x + y
내가 그렇게 아니라고 이해 :
@ContextConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
public class RefreshableScriptJavaConfigTests {
@Autowired
private Calculator calculator;
@Test
public void testGroovyRefreshableCalculator() {
assertEquals(5, this.calculator.add(2, 3));
}
@Configuration
public static class ContextConfiguration {
@Value("classpath:org/springframework/integration/scripting/config/jsr223/Calculator.groovy")
private Resource groovyScriptResource;
@Bean
public ScriptEvaluator groovyScriptEvaluator() {
return new GroovyScriptEvaluator();
}
@Bean
public Calculator calculator() {
return new Calculator(new RefreshableResourceScriptSource(this.groovyScriptResource, 1000));
}
}
public static class Calculator {
private final ScriptSource scriptSource;
@Autowired
private ScriptEvaluator scriptEvaluator;
public Calculator(ScriptSource scriptSource) {
this.scriptSource = scriptSource;
}
public int add(int x, int y) {
Map<String, Object> params = new HashMap<String, Object>();
params.put("x", x);
params.put("y", y);
return (int) this.scriptEvaluator.evaluate(this.scriptSource, params);
}
}
}
Calculator.groovy
은 다음과 같습니다
은 내가이 JavaConfig에 대한 참조 Spring Integration에서 ScriptEvaluator
및 RefreshableResourceScriptSource
에 대한 몇 가지 자바 클래스 래퍼입니다 XML 정의로 인터페이스 및 구성을 살펴볼 때 유연하지만 적어도 우리가 어디에 있는지 알 수 있도록 도와줍니다.
이 문제에 대해 JIRA 문제를 제기 해 주시면 언제든지 여기서 할 수있는 것을보실 수 있습니다. Resource
@Bean
방법의 경우 @EnableScripting
및 @ScriptSource(refreshDelay = 1000)
과 같은 것입니다.
이제는 @Import
lang
으로 정의 된 일부 XML 코드 조각을 생각해보십시오.
건배, 아르 템
고마워! 나는 전자 메일을 통해 원인을 묻지 않았다. 나는 공개적이고 찾기 쉽다는 것이 좋은 질문이라고 생각한다. 2. Boom, 방금 25 명이있다. 그렇게 나쁘지는 않다. 나는 더 나쁘다고 생각했다. 그리고 네,'@ EnableScripting'이 방법이며, 기능 요청을 추가 할 것입니다. – JBaruch
https://jira.spring.io/browse/SPR-12300 럭키 넘버 :) – JBaruch