There's a new "tapestry-spring" module (http://howardlewisship.com/tapestry-javaforge/tapestry-spring/) at JavaForge which Howard wrote. Also, if you want, you can use the spring Hibernate ORM classes inside HiveMind by dropping the hivemind-utils.jar, and spring-transaction.jar, and spring-hibernate3.jar into your classpath (WEB-INF/lib directory). Those are subprojects of the hivemind project at JavaForge (http://www.javaforge.com/proj/summary.do?proj_id=655). It's somewhat of a pain to build, since I depend on a project (commons-proxy) in the Jakarta Commons Sandbox (not allowed to release out of the sandbox, but I'm working on that), so if you want the pre-built jars, just let me know and I can email them to you directly.
-----Original Message----- From: Izak Wessels [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 21, 2006 7:30 AM To: Tapestry users Subject: Matt, question about your Tapestry 4.0 - Spring Integration Matt, I recently came across the following forum posting by yourself : ( I wasn't subscribed to the mailing list when you made this forum posting, so excuse the repeat ) ---------------------------------------------------------------------------- -------------- Does the following wiki page still reflect the current/recommended way of integrating Tapestry 4.0 with Spring? http://wiki.apache.org/jakarta-tapestry/Tapestry4Spring I used something similar in my project. While it works - it doesn't seem to be the "built-in support for Spring" that I'd suspect from Tapestry/Hivemind. Ideally, no Java code would be needed. Here's what I did: package org.appfuse.web; .... public class SpringFactory extends SpringBeanFactoryHolderImpl implements RegistryShutdownListener { private WebContext context; public void setContext(WebContext webcontext) { context = webcontext; } public BeanFactory getBeanFactory() { if (super.getBeanFactory() == null) { ApplicationContext ctx = (ApplicationContext) context.getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTR IBUTE); setBeanFactory(ctx); } return super.getBeanFactory(); } public void registryDidShutdown() { ((ConfigurableApplicationContext) getBeanFactory()).close(); } } /WEB-INF/hivemodule.xml: <implementation service-id="hivemind.lib.DefaultSpringBeanFactoryHolder"> <invoke-factory> <construct autowire-services="false" class="org.appfuse.web.SpringFactory"> <event-listener service-id="hivemind.ShutdownCoordinator"/> <set-object property="context" value="service:tapestry.globals.WebContext"/> </construct> </invoke-factory> </implementation> Thanks, Matt ---------------------------------------------------------------------------- -------------- I agree with your statement that using a third party lib thats only in alpha stage, doesn't seem quite right. My question however is, how do you actually apply this strategy in your java code? Do I need to instantiate an instance of BeanFactory and then call getBeanFactory() and go from there, or is it all done automatically? Any help would be much appreciated, -- Izak --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]