Jeff,

There's probably no immediate recourse for      making the server behave  
the way you want it to in-process.

But, there are some utilities that we use in tests that make it  
pretty easy to control a server externally.  Take a look at  
com.tc.objectserver.control.ExtraProcessServerControl (it's in trunk/ 
code/base/simulator).

If you don't like the ServerControl abstraction, you can use the more  
general purpose tool com.tc.process.LinkedJavaProcess (it's in trunk/ 
code/base/common/src).  Actually, as I write this, I think this is  
the better option.  It actually ships in tc.jar, so you can compile  
against it.  The way it works is that a spawned java process has a  
ping back to the parent java process and, if that parent goes away,  
it will kill itself.

--Orion


On Sep 4, 2007, at 2:17 PM, Jeff Genender wrote:

>
>
> Tim Eck wrote:
>> That JIRA is really talking about shutdown from the client (L1)  
>> side (as
>> opposed to the terracotta server (L2) side).
>>
>> How does TCStop help? It's still going to end up calling  
>> System.exit() as
>> far as I can tell -- and doesn't really jive with an embedded L2  
>> server.
>>
>
> Currently I am calling the TCServer.stop() because TCStop is calling
> system.exit() - and we can't have that ;-)
>
> The stop() shuts down everything, but the dsoServer is still  
> hanging and
> listening on 9510.  I even wrote my own TCGeronimoServerImpl which
> essentially is the same as TCServer, but I can control the the
> dsoServer.stop() and quickStop() calls.  Those still leave 9510  
> hanging,
> so it appears its something deeper.
>
>> Graceful shutdown of the TC server has been known to be busted for  
>> quite
>> awhile. Seems like a good opportunity to clean that up?
>>
>
> +1
>
> Jeff
>
>
>
>>
>>
>>> -----Original Message-----
>>> From: [EMAIL PROTECTED] [mailto:tc-dev-
>>> [EMAIL PROTECTED] On Behalf Of Fiona O'Shea
>>> Sent: Tuesday, September 04, 2007 12:42 PM
>>> To: Gary Keim
>>> Cc: [email protected]
>>> Subject: Re: [tc-dev] Embedding Terracotta (Geronimo plugin)
>>>
>>> FYI
>>> Updated: https://jira.terracotta.org/jira/browse/CDV-406 to track
>> progress
>>> of this issue.
>>> Fiona
>>> ----- Original Message -----
>>> From: "Gary Keim" <[EMAIL PROTECTED]>
>>> To: [email protected]
>>> Sent: Tuesday, September 4, 2007 12:17:55 PM (GMT-0800)
>>> America/Los_Angeles
>>> Subject: Re: [tc-dev] Embedding Terracotta (Geronimo plugin)
>>>
>>> Jeff,
>>>
>>> There are problems with graceful shutdown:
>>> https://jira.terracotta.org/jira/browse/DEV-406
>>>
>>> So, in DistributedObjectServer.stop you'll see that really, it won't
>> stop.
>>> For now, I think System.exec/TCStop is the way to go if you need  
>>> full
>>> control.
>>>
>>> Gary
>>>
>>> ----- Original Message -----
>>> From: "Jeff Genender" <[EMAIL PROTECTED]>
>>> To: <[email protected]>
>>> Sent: Tuesday, September 04, 2007 10:59 AM
>>> Subject: Re: [tc-dev] Embedding Terracotta (Geronimo plugin)
>>>
>>>
>>>> Anyone have an idea?
>>>>
>>>> Jeff
>>>>
>>>> Jeff Genender wrote:
>>>>> ok...I may be getting my ports mixed up...looks like its 9510  
>>>>> that is
>>>>> not shut down...and it is indeed the DSOServer.
>>>>>
>>>>> Thanks,
>>>>>
>>>>>
>>>>> Jeff
>>>>>
>>>>>
>>>>> Jeff Genender wrote:
>>>>>> Ok...if I am not mistaken (and I may very well be)...I need the
>>> ability
>>>>>> to shut down the dsoServer from the TCServerImpl.  I think  
>>>>>> this may
>>> give
>>>>>> me what I want...
>>>>>>
>>>>>> Anyone game to make this change? (Am I right in my assumption?)
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> Jeff
>>>>>>
>>>>>> Jeff Genender wrote:
>>>>>>> Hi folks,
>>>>>>>
>>>>>>> I have made tremendous progress on the Terracotta server  
>>>>>>> plugin for
>>>>>>> Geronimo.  It installs from a repository and I can start the  
>>>>>>> server
>>>>>>> just
>>>>>>> fine within Geronimo.
>>>>>>>
>>>>>>> But the problem I am having now is the stop.  I am unable to use
>> the
>>>>>>> TCStop because it does a full shutdown which ultimately ends  
>>>>>>> with a
>>>>>>> System.exit(), which certainly is not good for embedded
>>>>>>> implementations,
>>>>>>> since it shuts down Geronimo too :-(
>>>>>>>
>>>>>>> Therefore I went to save the server object when I created it  
>>>>>>> and I
>>> just
>>>>>>> called stop() when I want to shut down the TCServer.  This
>>> effectively
>>>>>>> stops the server on 9510, but it leaves the 9520 (JMXServer)  
>>>>>>> server
>>>>>>> running.  But I need to shut that down too.  Basically, I  
>>>>>>> want to
>> do
>>>>>>> the
>>>>>>> equivalent of a shutdown() without the System.exit().
>>>>>>>
>>>>>>> Ideas on how to do this?
>>>>>>>
>>>>>>> Thanks,
>>>>>>>
>>>>>>> Jeff
>>>>>>> _______________________________________________
>>>>>>> tc-dev mailing list
>>>>>>> [email protected]
>>>>>>> http://lists.terracotta.org/mailman/listinfo/tc-dev
>>>>>> _______________________________________________
>>>>>> tc-dev mailing list
>>>>>> [email protected]
>>>>>> http://lists.terracotta.org/mailman/listinfo/tc-dev
>>>>> _______________________________________________
>>>>> tc-dev mailing list
>>>>> [email protected]
>>>>> http://lists.terracotta.org/mailman/listinfo/tc-dev
>>>> _______________________________________________
>>>> tc-dev mailing list
>>>> [email protected]
>>>> http://lists.terracotta.org/mailman/listinfo/tc-dev
>>>>
>>> _______________________________________________
>>> tc-dev mailing list
>>> [email protected]
>>> http://lists.terracotta.org/mailman/listinfo/tc-dev
>>>
>>> _______________________________________________
>>> tc-dev mailing list
>>> [email protected]
>>> http://lists.terracotta.org/mailman/listinfo/tc-dev
>>
>> _______________________________________________
>> tc-dev mailing list
>> [email protected]
>> http://lists.terracotta.org/mailman/listinfo/tc-dev
> _______________________________________________
> tc-dev mailing list
> [email protected]
> http://lists.terracotta.org/mailman/listinfo/tc-dev

_______________________________________________
tc-dev mailing list
[email protected]
http://lists.terracotta.org/mailman/listinfo/tc-dev

Reply via email to