在Grails中从骆驼路由访问域类或spring bean

问题描述:

我有一个骆驼路由文件,我想根据通过Grails域类访问的某些数据库记录来填充/配置该文件。但是,我似乎无法从MyRoute.groovy访问域类(或任何在spring上下文中)。关于如何使这种可能性的任何想法?在Grails中从骆驼路由访问域类或spring bean

我尝试了Grails: Accessing spring beans in the destory closure of Bootstrap code?的建议,但这似乎不起作用。

在Java RouteBuilder中,您可以使用getContext()方法获取CamelContext。我假设你在groovy builder中有相同的方法。

使用CamelContext,您可以从其注册表中查找Spring Bean。

MyType foo = context.getRegistry()。lookup(“mySpringBean”,MyType.class);

+0

你说得对。不幸的是,这似乎并不能解决我的问题,因为在我尝试调用serviceBean的时候,它似乎还没有被格式化,并且无法访问数据库。 – 2009-06-09 07:36:45

你应该看看:http://camel.apache.org/hibernate.html

请注意,你应该增加: ... ref('sessionFactory') ...

beans节在resources.groovy

+0

好吧,没有尝试,因为我们没有.hbm.xml文件,所以很保证它不会工作。但这与我们所需要的非常接近;) – Archer 2010-02-27 15:12:50