You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Cezary Biernacki <ce...@gmail.com> on 2011/10/12 23:21:27 UTC
Re: @Scope
Hi,
you can inject ObjectLocator and call 'autobuild' to create a new instance
when needed. So instead of
@Inject private MyService myService;
...
myService.doSomething();
you would have
@Inject private ObjectLocator locator;
....
locator.autobuild(MyService.class).doSomething().
However I am not sure if your design is correct - do you need really to save
state in the service? It does not look like a proper service.
Best regards,
Cezary
On Wed, Oct 12, 2011 at 11:11 PM, Tony Nelson <tn...@starpoint.com> wrote:
> I have a service, that I need a new instance of every time it is
> referenced. In ScopeConstants I see DEFAULT, and PERTHREAD. I really need
> a new instance every time I request this particular service because it saves
> state, and yes, there are some occasions where I need several of these in
> the same thread (web request).
>
> For now, I can change all of my references to the service to a new
> instantiation of the implementing class, but that really isn't ideal.
>
> Does anyone have any idea how difficulty this type of change might be, and
> if it might be possible to get it into a 5.3-beta?
>
> Thanks
> Tony
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
Re: @Scope
Posted by Tony Nelson <tn...@starpoint.com>.
This particular service could have just as easily been a pojo. I'm converting a tapestry4/spring application to tapestry5 and I'm trying to leave spring behind. As a spring bean this object was simply declared with scope="prototype" which gave me a new instance of the object every time I accessed it.
It does look like autobuild will do what I need. I'll give it a try.
Thank you very much.
Tony
On Oct 12, 2011, at 5:21 PM, Cezary Biernacki wrote:
> Hi,
> you can inject ObjectLocator and call 'autobuild' to create a new instance
> when needed. So instead of
>
> @Inject private MyService myService;
> ...
> myService.doSomething();
>
> you would have
> @Inject private ObjectLocator locator;
>
> ....
> locator.autobuild(MyService.class).doSomething().
>
>
> However I am not sure if your design is correct - do you need really to save
> state in the service? It does not look like a proper service.
>
> Best regards,
> Cezary
>
>
> On Wed, Oct 12, 2011 at 11:11 PM, Tony Nelson <tn...@starpoint.com> wrote:
>
>> I have a service, that I need a new instance of every time it is
>> referenced. In ScopeConstants I see DEFAULT, and PERTHREAD. I really need
>> a new instance every time I request this particular service because it saves
>> state, and yes, there are some occasions where I need several of these in
>> the same thread (web request).
>>
>> For now, I can change all of my references to the service to a new
>> instantiation of the implementing class, but that really isn't ideal.
>>
>> Does anyone have any idea how difficulty this type of change might be, and
>> if it might be possible to get it into a 5.3-beta?
>>
>> Thanks
>> Tony
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org