wood burning stoves*
The moose likes JSP and the fly likes Ending a thread from jsp Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Java » JSP
Bookmark "Ending a thread from jsp" Watch "Ending a thread from jsp" New topic
Author

Ending a thread from jsp

Lilian Chase
Greenhorn

Joined: Jun 14, 2010
Posts: 24
Hi All,

I am having a problem using Timer and the underlaying TimerThread class.

I'm using a Timer to schedule a routine testing class that runs once every day to test output of the server. The timer is started from a JSP page and can be stopped from the same page.

The problems I'm facing are:
1. When I append the stop=1 as parameter to my JSP URL, the instance of Task class is not the same as the Task instance when I start the timer. Therefore I cannot stop the timer using this method.
2. I can iterate through the Thread in the server to find the underlaying TimerThread invoke by the Timer class. But there is no way to cast it to either Task or Timer class in order to stop the timer. TimerThread is an inner class in Timer, and there's no way for me to set the variables within this class.
3. Is it okay to stop the thread using thread.stop() since I cannot get the class instance to use the volatile variable method.

Currently, I'm considering stopping it using thread.stop() but since this method is deprecated and unsafe, is there any other safer and better methods to use?

The scriptlet in my JSP page to start the timer.



My TaskTimer Class

Vijitha Kumara
Bartender

Joined: Mar 24, 2008
Posts: 3817

Every time you accesses the JSP it will create a new instance of the "TaskTimer" class so you don't have access to the one(s) created previously. In order to have one and only one instance you may need to look for the Singleton Pattern


SCJP 5 | SCWCD 5
[How to ask questions] [Twitter]
Lilian Chase
Greenhorn

Joined: Jun 14, 2010
Posts: 24
Hi Vijitha,

Thank you so much for the reply! Using the singleton pattern, I'm able to get the same instance and stop the timer.

Thank you so much!

Another question: Is using Timer or ScheduledExecutorService a better choice?
Vijitha Kumara
Bartender

Joined: Mar 24, 2008
Posts: 3817

I would go with the latest one
 
wood burning stoves
 
subject: Ending a thread from jsp
 
Similar Threads
Execute Servlet At Given Time Instance
Activate Midlet automatically
Using Timer
Web Page to Excel Sheet
Threads in JSP/Servlets