[Seaside] Re: Zinc adaptor zombie
Sven Van Caekenberghe
sven at beta9.be
Mon Jul 2 11:58:14 UTC 2012
On 01 Jul 2012, at 11:19, Esteban Lorenzano wrote:
> Hi Sven,
> no... problem is that
> 1) you create a server with zinc adaptor
> 2) you need to change it to use comanche, then you stop one, start the other .
> 3) when you save image, ZnServer is restarted anyway.
OK, I understand now and I could reproduce it.
But this is a Seaside issue/feature: WAServerManager will send #startUp to all its adaptors, regardless whether they were stopped manually or not, it wants them all to be running after a restart.
I think that sending #unregister to an adaptor would be the behavior you are looking for.
When WAServerManager sends #startUp to a stopped ZnZincServerAdaptor things go wrong (essentially #basicStart is needed), indeed. Thanks for pointing that out, I added some changes to Zinc-Seaside so that the lazy initialization in #server is not called unnecessary.
==================== Summary ====================
Time: 2 July 2012, 1:55:58 pm
bring some sanity to how #server lazy initialization was handled;
changed semantics of #startUp to do a #basicStart when the server was stopped
>  My *real* problem is that I cannot use Zinc Adaptor in certain cases: When I use seaside rest to do a put, rawBody is always empty.
That should normally work, as far as I know. Could you provided more information, preferrably a use case against one of the test handlers ?
> On Jul 1, 2012, at 11:07 AM, Sven Van Caekenberghe wrote:
>> Hi Esteban,
>> On 01 Jul 2012, at 10:38, Esteban Lorenzano wrote:
>>> look at this code:
>>> "Return the ZnServer running me, create a default one if missing"
>>> ^ server ifNil: [ server := self defaultZnServer ].
>>> self server isNil
>>> ifFalse: [ self server start ]
>>> so... this will stay alive for ever... even if you try to kill him with a shotgun (and yes... is a brain eater) :)
>> I am not sure I understand the question here.
>> AFAIK, the lifecycle of a Seaside adaptor is controlled by the manager, not the instance itself.
>> When you first create an adaptor it will only lazily create the server and then start it.
>> When you stop an adaptor, the Zn server will stop, but indeed the instance stays put, which should not be a problem.
>> There is always the option to remove the adaptor from the manager, and everything should become garbage, no ?
>> Sven Van Caekenberghe
>> Smalltalk is the Red Pill
More information about the seaside