eolivelli commented on a change in pull request #278: BOOKKEEPER-1100: Add module for Bookkeeper Http Endpoint URL: https://github.com/apache/bookkeeper/pull/278#discussion_r130332256
########## File path: bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/ServerConfiguration.java ########## @@ -2023,7 +2027,49 @@ public ServerConfiguration setNettyMaxFrameSizeBytes(int maxSize) { } /** - * Gets the minimum safe Usable size to be available in index directory for Bookie to create Index File while replaying + * Sets that whether the http server can start along with auto-recovery service + * + * @param enabled + * - true if need to start http server with auto-recovery + * @return ServerConfiguration + */ + public ServerConfiguration setHttpServerEnabled(boolean enabled) { + setProperty(HTTP_SERVER_ENABLED, enabled); + return this; + } + + /** + * Get whether the http server start with auto-recovery service or not + * + * @return true - if http server should start with auto-recovery service + */ + public boolean isHttpServerEnabled() { + return getBoolean(HTTP_SERVER_ENABLED, false); + } + + /** + * Set Http server port listening on + * + * @param port + * Port to listen on + * @return server configuration + */ + public ServerConfiguration setHttpServerPort(int port) { Review comment: @yzang @sijie I wonder if we need to make the "port" configurable, it is be a "specific" value for each implementation If you want to let the bookie "compose" the base URL of the service you will need protocol + hostname + port, and not just the port. We can add a method to the HttpServer interface to make the Bookie query the httpserver for the actual endpoint URL Ideas: 1) make at least port/address/protocol (http/https) configurable 2) leave the 'port' parameter to each specific httpserver implementation (drop it from ServerConfiguration) An example: in my case I will run my bookie inside a JVM which alredy bundles its own Tomcat based server and I will implement an HttpServlet. The "configuration" of the actual http endpoint will not be known to the Bookie at all. In this case the httpserver port attribute will be ignored and I know that my case will work, but now that we are introducing this new feature a would like to have only the minimal set of configuration options. Thoughts ? ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services