Hi guys,
Thanks for your hard work on Restlet with Spring integration, I am able to
integrate them according to the wiki, however I found two issues
I used SpringServerServlet to load the Application from spring context
configuration file appcontext.xml, and the root router is an instance of
org.restlet.ext.spring.SpringBeanRouter which is injected by the Spring
container into the Application. Hence Application.createRoot() returns the
injected SpringBeanRouter as root router.
So far, everything works but
1. Each resource bean must have an explicit ID, otherwise bean lookup will
fail.
This is not a big deal, I can provide an ID for each resource bean. Let look at
the next issue which is a little complex.
2. Transaction interceptor can not intercept the bean managed restlet
resources, my JPA transaction manager and interceptor works pretty good with
DAO and other tiers but just can not work with resource beans.
I took a look at the source code and found that the SpringBeanRouter uses the
following code to create a bean finder:
protected Finder createFinder(BeanFactory beanFactory, String beanName) {
return new SpringBeanFinder(beanFactory, beanName);
}
I am worrying about the beanFactory passed in is not a subclass of
ApplicationContext, the major difference between beanFactory and AppContext is
beanFactory does not support AOP.
Is that the reason my transaction interceptor can not work?
------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=1011912