I tried injecting an ObjectProvider into my AppModule buildService method, but 
it doesn't work.  Tapestry reports that Service id "ObjectLocator" isn't 
defined by any module.  I see that the MasterObjectProvider is available, but I 
don't think that's what I want.

Here's my code:
static public ServiceFactory buildServiceFactory(@InjectService("ObjectLocator")
    ObjectLocator objectLocator) throws Exception
    {
....
    }
 
Any suggestions?




----- Original Message ----
From: Howard Lewis Ship <[EMAIL PROTECTED]>
To: Tapestry users <users@tapestry.apache.org>
Sent: Wednesday, May 16, 2007 2:55:44 PM
Subject: Re: Using registry in a factory

You can't get the Registry, but you can get an ObjectLocator, which includes
all the key methods of Registry.  This can be injected into your
ServiceFactory implementation.

On 5/16/07, Mark Addleman <[EMAIL PROTECTED]> wrote:
>
> I'd like to use tapestry-ioc outside the context of a web app but I'm
> running into a conceptual problem.  I need to create and destroy objects in
> response to asynchronous events, so I've defined the following interface:
>
> public interface ServiceFactory
> {
>    public Service createService(Registry registry);
> }
>
> I pass the registry object so the service factory can look up all the
> necessary services in order to construct the particular service.
>
> I'd like the event publisher to be in the Tapestry Registry with the
> following interface:
>
> public interface EventPublisher
> {
>     public void addServiceFactory(ServiceFactory factory);
> }
>
> The problem is, I don't know how to get the registry object into the
> EventPublisher's implementation.  Ideally, I'd like to inject the Registry
> into the EventPublisherImpl's constructor, but I know that's impossible
> under 5.0.4's implementation.  What do you think about enhancing injection
> to support this kind of bootstrapping?
>



-- 
Howard M. Lewis Ship
TWD Consulting, Inc.
Independent J2EE / Open-Source Java Consultant
Creator and PMC Chair, Apache Tapestry
Creator, Apache HiveMind

Professional Tapestry training, mentoring, support
and project work.  http://howardlewisship.com




Reply via email to