Win a copy of Learn Spring Security (video course) this week in the Spring forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Starting background process

 
Narayanan Jayaraman
Ranch Hand
Posts: 52
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
How to start a background process from Swing application. In my swing application I start a background process thread by clicking a button. But When I close the application it also closes the thread. Any idea how to do it ?.
Thanks
 
Lee Barney
Ranch Hand
Posts: 37
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Is this process to be a java process or a native process?
 
Narayanan Jayaraman
Ranch Hand
Posts: 52
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
This one is Java process.
 
Nathan Pruett
Bartender
Posts: 4121
IntelliJ IDE Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Are you setting the default close operation of the frame to EXIT_ON_CLOSE? That just calls System.exit() when you close your frame and kills the JVM. Same thing as if you attached a WindowListener to your frame and called System.exit(). If you want your frame to go away, but the thread to keep running, either hide (setVisible( false ) or HIDE_ON_CLOSE) or get rid of ( dispose() or DISPOSE_ON_CLOSE) your frame on closing, and wait for your thread to finish before calling System.exit(). If you have a reference to the thread, you can simply call thread.join() to do this. Important point - You have to put the code to wait for your thread to end and then call System.exit()... you can't skip this part because once you start up a GUI application in Java you must call System.exit() specifically because the AWT Event thread won't let the JVM die on its own.
 
Narayanan Jayaraman
Ranch Hand
Posts: 52
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I use dispose() method to close the frame. But the background process has to run forever. Is it possible to start the process in different JVM ?
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic