Hi Lin,

Thanks a lot for initiating the work. The initial code looks pretty good. Hope 
your school days are happy!

Regards,
Kai

-----Original Message-----
From: ha...@apache.org [mailto:ha...@apache.org] 
Sent: Sunday, December 06, 2015 10:55 PM
To: comm...@directory.apache.org
Subject: [1/2] directory-kerby git commit: Embed Jetty in Kerby KDC - initially 
work.

Repository: directory-kerby
Updated Branches:
  refs/heads/jetty-embedded [created] 6b72f249f


Embed Jetty in Kerby KDC - initially work.


Project: http://git-wip-us.apache.org/repos/asf/directory-kerby/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-kerby/commit/65049ae3
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerby/tree/65049ae3
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerby/diff/65049ae3

Branch: refs/heads/jetty-embedded
Commit: 65049ae3c96ae01d772e6667ad8ca040c41b29f3
Parents: 1d93856
Author: Lin <linch...@foxmail.com>
Authored: Sun Dec 6 22:53:07 2015 +0800
Committer: Lin <linch...@foxmail.com>
Committed: Sun Dec 6 22:53:07 2015 +0800

----------------------------------------------------------------------
 kerby-kdc/pom.xml                               | 42 ++++++++++++++++++++
 .../kerby/kerberos/kdc/KerbyKdcServer.java      | 29 ++++++++++++++
 .../kerberos/kdc/jetty/services/HelloJetty.java | 36 +++++++++++++++++
 3 files changed, 107 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/65049ae3/kerby-kdc/pom.xml
----------------------------------------------------------------------
diff --git a/kerby-kdc/pom.xml b/kerby-kdc/pom.xml index ed222ec..97d50ab6 
100644
--- a/kerby-kdc/pom.xml
+++ b/kerby-kdc/pom.xml
@@ -26,6 +26,11 @@
   <description>Kerby KDC Server</description>
   <packaging>jar</packaging>
 
+  <properties>
+    <jetty.version>9.3.6.v20151106</jetty.version>
+    <jersey.version>2.22.1</jersey.version>
+  </properties>
+
   <dependencies>
     <dependency>
       <groupId>org.apache.kerby</groupId>
@@ -62,5 +67,42 @@
       <artifactId>slf4j-api</artifactId>
       <version>${slf4j.version}</version>
     </dependency>
+
+    <dependency>
+      <groupId>org.eclipse.jetty</groupId>
+      <artifactId>jetty-server</artifactId>
+      <version>${jetty.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse.jetty</groupId>
+      <artifactId>jetty-servlet</artifactId>
+      <version>${jetty.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse.jetty</groupId>
+      <artifactId>jetty-util</artifactId>
+      <version>${jetty.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.glassfish.jersey.core</groupId>
+      <artifactId>jersey-server</artifactId>
+      <version>${jersey.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.glassfish.jersey.containers</groupId>
+      <artifactId>jersey-container-servlet-core</artifactId>
+      <version>${jersey.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.glassfish.jersey.containers</groupId>
+      <artifactId>jersey-container-jetty-http</artifactId>
+      <version>${jersey.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.glassfish.jersey.media</groupId>
+      <artifactId>jersey-media-moxy</artifactId>
+      <version>${jersey.version}</version>
+    </dependency>
   </dependencies>
 </project>

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/65049ae3/kerby-kdc/src/main/java/org/apache/kerby/kerberos/kdc/KerbyKdcServer.java
----------------------------------------------------------------------
diff --git 
a/kerby-kdc/src/main/java/org/apache/kerby/kerberos/kdc/KerbyKdcServer.java 
b/kerby-kdc/src/main/java/org/apache/kerby/kerberos/kdc/KerbyKdcServer.java
index ac789b5..bbc6951 100644
--- a/kerby-kdc/src/main/java/org/apache/kerby/kerberos/kdc/KerbyKdcServer.java
+++ b/kerby-kdc/src/main/java/org/apache/kerby/kerberos/kdc/KerbyKdcServ
+++ er.java
@@ -20,11 +20,17 @@
 package org.apache.kerby.kerberos.kdc;
 
 import org.apache.kerby.kerberos.kdc.impl.NettyKdcServerImpl;
+import org.apache.kerby.kerberos.kdc.jetty.services.HelloJetty;
 import org.apache.kerby.kerberos.kerb.KrbException;
 import org.apache.kerby.kerberos.kerb.admin.Kadmin;
 import org.apache.kerby.kerberos.kerb.server.KdcServer;
 import org.apache.kerby.util.OSUtil;
 
+import org.eclipse.jetty.server.Server; import 
+org.eclipse.jetty.servlet.ServletContextHandler;
+import org.eclipse.jetty.servlet.ServletHolder;
+import org.glassfish.jersey.servlet.ServletContainer;
+
 import java.io.File;
 
 /**
@@ -89,5 +95,28 @@ public class KerbyKdcServer extends KdcServer {
 
         server.start();
         System.out.println("KDC started.");
+
+        initJettyServer();
+    }
+
+    private static void initJettyServer() {
+        ServletHolder servletHolder = new 
ServletHolder(ServletContainer.class);
+        
servletHolder.setInitParameter("jersey.config.server.provider.classnames",
+                HelloJetty.class.getCanonicalName());
+
+        Server jettyServer = new Server(8080);
+        ServletContextHandler context = new ServletContextHandler(jettyServer, 
"/", ServletContextHandler.SESSIONS);
+        context.addServlet(servletHolder, "/*");
+
+        try {
+            jettyServer.start();
+            jettyServer.join();
+            System.out.println("Jetty server started.");
+        } catch (Exception e) {
+            System.out.println("Errors occurred when start jetty server:  " + 
e.getMessage());
+            System.exit(5);
+        } finally {
+            jettyServer.destroy();
+        }
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/65049ae3/kerby-kdc/src/main/java/org/apache/kerby/kerberos/kdc/jetty/services/HelloJetty.java
----------------------------------------------------------------------
diff --git 
a/kerby-kdc/src/main/java/org/apache/kerby/kerberos/kdc/jetty/services/HelloJetty.java
 
b/kerby-kdc/src/main/java/org/apache/kerby/kerberos/kdc/jetty/services/HelloJetty.java
new file mode 100644
index 0000000..f70f18e
--- /dev/null
+++ b/kerby-kdc/src/main/java/org/apache/kerby/kerberos/kdc/jetty/servic
+++ es/HelloJetty.java
@@ -0,0 +1,36 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * <p/>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p/>
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.kerby.kerberos.kdc.jetty.services;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+
+@Path("/hello")
+public class HelloJetty {
+
+    @GET
+    @Produces(MediaType.TEXT_PLAIN)
+    public String getHello() {
+        return "Hello Kerby KDC!";
+    }
+
+
+}

Reply via email to