I sent an e-mail a few weeks ago asking about injecting EJBs in tapestry pages. I found a way to do it, so I'm sharing it with the list since there were other people interested. It's really very easy.
All you have to do is create a hivemind object provider that will supply you with the information you want. Something like this: public class EJBObjectProvider implements ObjectProvider { public Object provideObject(Module module, Class propertyType, String locator, Location location) { return jndiLookup(locator); } } This is a bit simplified. In my case I use a caching mechanism to save on jndi lookups. Then you have to tell hivemind about your new object provider by adding to you hivemodule.xml: <service-point id="EJBObjectProvider" interface="org.apache.hivemind.service.ObjectProvider"> <invoke-factory> <construct class="EJBObjectProvider"> <set-object property="applicationStateManager" value="infrastructure:applicationStateManager"/> </construct> </invoke-factory> </service-point> I'm also injecting an application state manager for my own logic, but you can use anything here. Also add the following: <contribution configuration-id="hivemind.ObjectProviders"> <provider prefix="ejb" service-id="EJBObjectProvider"/> </contribution> That's it. Now you can inject any EJBs by simply adding something like this in your page or component: @InjectObject("ejb:myBeanJndiName") public abstract MyBean getMyBean(); I hope it was helpful. I really don't know that much about hivemind use so it took me some tapestry source code exploring to figure this one out. I welcome any suggestions on how to improve this. Cheers, Denis -----Original Message----- From: Bastian Voigt [mailto:[EMAIL PROTECTED] Sent: quarta-feira, 20 de dezembro de 2006 13:40 To: Tapestry users Cc: Denis Souza Subject: Re: Inject EJB 3 into Tapestry 4 page Hi, did you find out anything? I am having the same problem. Regards Bastian Voigt On Monday 18 December 2006 21:44, Denis Souza wrote: > That's just about what I need, but for EJB 3. This service seems to assume > EJB 2.x since it requires a home interface. --------------------------------------------------------------------- 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]