RFR: 8044131: Restructure sjavac client / server protocol code

Andreas Lundblad andreas.lundblad at oracle.com
Thu Jul 3 12:45:29 UTC 2014

Hi compiler-dev,

Feel free to review this sjavac patch which addresses JDK-8044131.

The patch changes the following:

- replaces the manual (de)serialization with ObjectOutputStream/ObjectInputStream

- unifies the interfaces of local ("background=false") compilation and remote ("background=true") compilation

- factors out thread pooling, idleness detection and port file monitoring into their own classes for better modularity

The new, more modular, structure allows for better unit testing of the functionality. (See for instance the tests IdleShutdown.java and PooledExecution.java.)

As part of the refactoring, JDK-8048457 was also solved.

Link to webrev:

Links to bug report:

-- Andreas

More information about the compiler-dev mailing list