"Diethelm Guallar, Gonzalo" wrote:
> I changed process() to go to MySQL instead of taking
> the values from fixed arrays. I used torque to generate
> the peers, and everything works EXACTLY the same (I'm
> verifying this by diff'ing the output in both cases). I'm
> still getting the "Done!" printed at the end; however,
> after printing "Done!" the command window just hangs in
> there, and I don't get the command prompt back. The process
> is not using up any CPU, and I can hit Ctrl-C to abort it,
> but it never goes back to the command prompt on its own.
> My tests indicate that commenting out the call to process()
> (and, therefore, to the Peer stuff) makes the program finish
> on its own.
This is normal behaviour. The JVM stays alive as long as there
are any threads running in it. When you initialize Turbine,
a few threads will be started, most notably the Id broker thread.
Scheduler service also spawns a thread when enabled, and WebMacro
is known to spawn a few threads (7 of them if I remember correctly).
When your main() function exits, the main thread of your program
dies, but the Id broker thread (and possibly other threads started
by Turbine) are still running. If you want your program to exit
to the command line, you have to terminate the JVM explicitly -
call System.exit(0) at the very end of main().
Rafal
--
Rafal Krzewski
Senior Internet Developer
mailto:[EMAIL PROTECTED]
+48 22 8534830 http://e-point.pl
------------------------------------------------------------
To subscribe: [EMAIL PROTECTED]
To unsubscribe: [EMAIL PROTECTED]
Search: <http://www.mail-archive.com/turbine%40list.working-dogs.com/>
Problems?: [EMAIL PROTECTED]