compile group: 'org.glassfish.grizzly', name: 'grizzly-http-server', version: '2.3.28'
public class HabrWebServer { private static final Logger LOGGER = Grizzly.logger(HabrWebServer.class); public static void main(String[] args) { // create a basic server that listens 0.0.0.0:8080 final HttpServer server = HttpServer.createSimpleServer(); final ServerConfiguration config = server.getServerConfiguration(); // Map the path, '/', to the Handler config.addHttpHandler(new HabrHandler(), "/"); try { server.start(); System.out.println("The server is running. \nPress enter to stop..."); System.in.read(); } catch (IOException ioe) { LOGGER.log(Level.SEVERE, ioe.toString(), ioe); } finally { server.shutdownNow(); } } private static class HabrHandler extends HttpHandler { @Override public void service(Request request, Response response) throws Exception { response.setContentType("text/plain"); response.getWriter().write("Hello Habrahabr!"); } } }
apply plugin: 'application' mainClassName = 'ru.test.HabrWebServer'
./gradlew installDist
./habrServer
public static void main(String[] args) { final HttpServer server = createServer("0.0.0.0", 8080); ... } public static HttpServer createServer(String host, int port) { HttpServer server = new HttpServer(); NetworkListener listener = new NetworkListener("grizzly", host, new PortRange(port)); server.addListener(listener); return server; }
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://127.0.0.1:2375
group 'habrServer' version '1.0-SNAPSHOT' apply plugin: 'java' apply plugin: 'application' apply plugin: 'com.bmuschko.docker-java-application' apply plugin: 'com.bmuschko.docker-remote-api' import com.bmuschko.gradle.docker.tasks.container.DockerCreateContainer mainClassName = 'ru.test.HabrWebServer' buildscript { repositories { jcenter() } dependencies { classpath 'com.bmuschko:gradle-docker-plugin:3.0.3' } } docker { url = 'http://127.0.0.1:2375' javaApplication { maintainer = 'Dmitry Barkalov "xxx@xxx.xxx"' ports = [8080] tag = 'habrwebserver' } } task createDocker(type: DockerCreateContainer) { dependsOn dockerBuildImage targetImageId { dockerBuildImage.getImageId() } portBindings = ['8080:8080'] } repositories { mavenCentral() jcenter() } dependencies { testCompile group: 'junit', name: 'junit', version: '4.11' compile group: 'org.glassfish.grizzly', name: 'grizzly-http-server', version: '2.3.28' }
./gradlew createDocker
Source: https://habr.com/ru/post/312724/
All Articles