Based on the discussion via comments, I think the answer is clear.
Different from traditional ISAPI or managed module that dispatch individual requests to an extension, ARR and HttpPlatformHandler (both work as reverse proxy) expect the server administrator to configure a full-feature application server behind. So, for Java that means Tomcat or Jetty, and in your case your program needs to be able to handle multiple incoming requests at the same time.
Since your program will be an application server, you shouldn't expect it to be shut down from time to time, but run continuously over a long period of time. With ARR setup, IIS won't even attempt to shut down your program, while HttpPlatformHandler honors application pool idle shut down and might shut down your program and later start it again.