thufir

worker

Jul 4th, 2014
277
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.71 KB | None | 0 0
  1. package net.bounceme.dur.driver;
  2.  
  3. import java.io.IOException;
  4. import java.io.ObjectInputStream;
  5. import java.io.ObjectOutputStream;
  6. import java.net.Socket;
  7. import java.util.NoSuchElementException;
  8. import java.util.logging.Level;
  9. import java.util.logging.Logger;
  10.  
  11. public class WorkerRunnable implements Runnable {
  12.  
  13.     private static final Logger log = Logger.getLogger(WorkerRunnable.class.getName());
  14.     protected Socket socket = null;
  15.  
  16.     public WorkerRunnable(Socket clientSocket) {
  17.         this.socket = clientSocket;
  18.     }
  19.  
  20.     @Override
  21.     public void run() {
  22.         MyRecord recordFromServer = null;
  23.         MyRecord recordFromClient = null;
  24.         RecordsQueueWrapper recordsQueue = new RecordsQueueWrapper();
  25.         boolean eof = false;
  26.         recordsQueue.populate();
  27.         try (ObjectOutputStream objectOutputStream = new ObjectOutputStream(socket.getOutputStream());
  28.                 ObjectInputStream objectInputStream = new ObjectInputStream(socket.getInputStream())) {
  29.             do {
  30.                 try {
  31.                     recordFromServer = recordsQueue.pop();
  32.                     objectOutputStream.writeObject(recordFromServer);
  33.                     recordFromClient = (MyRecord) objectInputStream.readObject();
  34.                     log.info(recordFromClient.toString());
  35.                 } catch (NoSuchElementException nse) {
  36.                     eof = true;
  37.                 }
  38.             } while (!eof);
  39.         } catch (java.io.EOFException eofe) {
  40.             log.warning("why is there no record from client?");
  41.         } catch (IOException | ClassNotFoundException ex) {
  42.             Logger.getLogger(WorkerRunnable.class.getName()).log(Level.SEVERE, null, ex);
  43.         }
  44.     }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment