public void registerGroovyController(String scriptLocation) {
registerScriptFactoryPostProcessorIfNecessary();
// Create script factory bean definition.
GenericBeanDefinition bd = new GenericBeanDefinition();
bd.setBeanClassName(GroovyScriptFactory.class.getName());
bd.setAttribute(ScriptFactoryPostProcessor.LANGUAGE_ATTRIBUTE, "groovy");
bd.setAttribute(ScriptFactoryPostProcessor.REFRESH_CHECK_DELAY_ATTRIBUTE, refreshCheckDelay);
bd.setAttribute(ScriptFactoryPostProcessor.PROXY_TARGET_CLASS_ATTRIBUTE, true);
ConstructorArgumentValues cav = bd.getConstructorArgumentValues();
int constructorArgNum = 0;
cav.addIndexedArgumentValue(constructorArgNum++, scriptLocation);
String controllerBeanName = scriptLocation;
beanFactory.registerBeanDefinition(controllerBeanName, bd);