title: Java 9 ServiceLoader runtime module loading and replacement
body: <p>I just read about Java 9 module system and I'd like to ask about <a href="https://docs.oracle.com/javase/9/docs/api/java/util/ServiceLoader.html" rel="nofollow noreferrer"><code>ServiceLoader</code></a>. Is there any way how to add service implementation when the application is already started? How about removing some service implementation? </p>
  
  <p><strong>Use case:</strong> I will have some application that calculates something. The calculation algorithm will be defined in some service(Java 9 module). Are there any steps that can be done to replace this algorithm without stopping the application? When will I replace the jars is it just that the calculation will fail and I will need to catch the error and restart when the module is done loading?</p>
  
  <p>Is there any other project that can support such use case?</p>