This week's giveaway is in the EJB and other Java EE Technologies forum.
We're giving away four copies of EJB 3 in Action and have Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan on-line!
See this thread for details.
The moose likes Beginning Java and the fly likes Java - Combine Observer pattern with timer task? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of EJB 3 in Action this week in the EJB and other Java EE Technologies forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Java - Combine Observer pattern with timer task?" Watch "Java - Combine Observer pattern with timer task?" New topic
Author

Java - Combine Observer pattern with timer task?

David Blaine
Ranch Hand

Joined: Mar 23, 2013
Posts: 70
I have asked this question before at stack overflow.
I need to know if combining observer pattern with timer task is okay or not. If not, will it lead to any serious problems ?

In a previous post, I used the observer pattern. Now, I want to do more with that code.

Description -

class Flight has a status (ie int) - before time, on time, late. This is my Observable class FlightStatusMonitor has an ArrayList of Flights. This class is my observer. There is only one such observer. The update(Observable o, Object arg) method will
update the status of the flight and also display the refreshed flight status of all flights that it observes.

I have a set of flights whose status I will change in batches. Batch size can be 1 flight or more - 1 , 5 , 15 ,22 , 45 etc BUT NEVER all flights.
I change the status for one batch, a couple of seconds later I change the status for another batch etc. Some flights remain unchanged.

I was thinking of using timer tasks to change the status of flights at chosen times and then see the updated status for all flights.

I want to be able to see the flight status displayed on the screen just after it is changed by a timer task.

But, I am not sure if I am doing this correctly. Will concurrency will be a problem here ?

Steve Luke
Bartender

Joined: Jan 28, 2003
Posts: 3934
    
  17

It ishard to say if you are doing it right if we can't see what you are doing. Is it bad form to use a Timer Task to modify an Observable and have an observer display the current status? No, the is nothing wrong with that conceptually. But I think we would need to see what you are doing to make Any more constructive comments on it.


Steve
David Blaine
Ranch Hand

Joined: Mar 23, 2013
Posts: 70
Steve Luke wrote:It ishard to say if you are doing it right if we can't see what you are doing. Is it bad form to use a Timer Task to modify an Observable and have an observer display the current status? No, the is nothing wrong with that conceptually. But I think we would need to see what you are doing to make Any more constructive comments on it.


What kind of details would enable you to help me ? Can you name them ? For example - give me all your code or show me your class design etc.
Winston Gutkowski
Bartender

Joined: Mar 17, 2011
Posts: 7029
    
  16

David Blaine wrote:What kind of details would enable you to help me ? Can you name them ? For example - give me all your code or show me your class design etc.

I suggest you look at the HowToAskQuestionsOnJavaRanch (←click) page; it has all sorts of useful information. In particular, read the two links at the bottom of the page (especially the first one). You might also want to read up about SSCCE's.

What we absolutely don't want is a mind-dump; so if you post code, be judicial about it.

The only thing I can add to Steve's advice is that, although there's nothing particularly wrong about mixing Observer/Observable with a timer, it seems more likely that you should keep them separate.

Observer/Observable is a subscription/notification system that normally operates in real time - Observable gets updated or receives new information, and notifies its subcribers. So, in your case, your Batch might be an Observable, but I don't see any particular reason why you'd need to apply the timer directly to the observation mechanism; just apply it to the Batch.

What seems more likely to me is that you'd use the Batch to rationalize your updates - ie, if the same Batch contains several updates for the same object, group them together into a single transaction.

But it's just a thought; and without more information, its difficult to say anything with certainty.

Winston

Isn't it funny how there's always time and money enough to do it WRONG?
Artlicles by Winston can be found here
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Java - Combine Observer pattern with timer task?
 
Similar Threads
Locking
short cut in a JMenuItem
MVC Implementaion!
Is this a the correct way to implement the Observer-Observable pattern in Java ?
Route - Flight - Segment again.