|
@@ -2,9 +2,11 @@ package com.yiidata.katta.ui;
|
|
|
|
|
|
|
|
import com.google.common.base.Preconditions;
|
|
import com.google.common.base.Preconditions;
|
|
|
import com.google.common.base.Throwables;
|
|
import com.google.common.base.Throwables;
|
|
|
|
|
+import com.google.inject.*;
|
|
|
import com.yiidata.katta.ui.annaotion.Action;
|
|
import com.yiidata.katta.ui.annaotion.Action;
|
|
|
import com.yiidata.katta.ui.annaotion.Path;
|
|
import com.yiidata.katta.ui.annaotion.Path;
|
|
|
import com.yiidata.katta.ui.handle.DynamicRequestServlet;
|
|
import com.yiidata.katta.ui.handle.DynamicRequestServlet;
|
|
|
|
|
+import com.yiidata.katta.ui.service.SimpleConfiguration;
|
|
|
import com.yiidata.katta.ui.utils.ClasspathPackageScanner;
|
|
import com.yiidata.katta.ui.utils.ClasspathPackageScanner;
|
|
|
import org.mortbay.jetty.Server;
|
|
import org.mortbay.jetty.Server;
|
|
|
import org.mortbay.jetty.handler.ContextHandler;
|
|
import org.mortbay.jetty.handler.ContextHandler;
|
|
@@ -12,14 +14,12 @@ import org.mortbay.jetty.handler.ResourceHandler;
|
|
|
import org.mortbay.jetty.nio.SelectChannelConnector;
|
|
import org.mortbay.jetty.nio.SelectChannelConnector;
|
|
|
import org.mortbay.jetty.servlet.ServletHandler;
|
|
import org.mortbay.jetty.servlet.ServletHandler;
|
|
|
import org.mortbay.jetty.servlet.ServletHolder;
|
|
import org.mortbay.jetty.servlet.ServletHolder;
|
|
|
-import org.mortbay.resource.JarResource;
|
|
|
|
|
import org.mortbay.resource.Resource;
|
|
import org.mortbay.resource.Resource;
|
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
|
|
|
|
import java.io.File;
|
|
import java.io.File;
|
|
|
import java.lang.reflect.Method;
|
|
import java.lang.reflect.Method;
|
|
|
-import java.net.URI;
|
|
|
|
|
import java.net.URL;
|
|
import java.net.URL;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
|
|
@@ -37,7 +37,8 @@ import java.util.List;
|
|
|
*
|
|
*
|
|
|
* @author zhenqin
|
|
* @author zhenqin
|
|
|
*/
|
|
*/
|
|
|
-public class Booster {
|
|
|
|
|
|
|
+public class Booster implements Module {
|
|
|
|
|
+
|
|
|
|
|
|
|
|
static Logger LOG = LoggerFactory.getLogger(Booster.class);
|
|
static Logger LOG = LoggerFactory.getLogger(Booster.class);
|
|
|
|
|
|
|
@@ -73,12 +74,10 @@ public class Booster {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
- public String getHost() {
|
|
|
|
|
- return host;
|
|
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
- public int getPort() {
|
|
|
|
|
- return port;
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void configure(Binder binder) {
|
|
|
|
|
+ binder.bind(SimpleConfiguration.class).in(Scopes.SINGLETON);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public void start() {
|
|
public void start() {
|
|
@@ -115,6 +114,7 @@ public class Booster {
|
|
|
contextHandler.setHandler(resourceHandler);
|
|
contextHandler.setHandler(resourceHandler);
|
|
|
srv.addHandler(contextHandler);
|
|
srv.addHandler(contextHandler);
|
|
|
|
|
|
|
|
|
|
+ Injector injector = Guice.createInjector(this);
|
|
|
|
|
|
|
|
ServletHandler handler = new ServletHandler();
|
|
ServletHandler handler = new ServletHandler();
|
|
|
LOG.info("add rule: /");
|
|
LOG.info("add rule: /");
|
|
@@ -128,7 +128,9 @@ public class Booster {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 是 Action 类,需要增加
|
|
// 是 Action 类,需要增加
|
|
|
- Object instance = aClass.newInstance();
|
|
|
|
|
|
|
+ //Object instance = aClass.newInstance();
|
|
|
|
|
+ LOG.info("add class " + s);
|
|
|
|
|
+ Object instance = injector.getInstance(aClass);
|
|
|
Method[] methods = aClass.getDeclaredMethods();
|
|
Method[] methods = aClass.getDeclaredMethods();
|
|
|
for (Method method : methods) {
|
|
for (Method method : methods) {
|
|
|
Path annotation1 = method.getAnnotation(Path.class);
|
|
Path annotation1 = method.getAnnotation(Path.class);
|
|
@@ -180,6 +182,13 @@ public class Booster {
|
|
|
srv.join();
|
|
srv.join();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ public String getHost() {
|
|
|
|
|
+ return host;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public int getPort() {
|
|
|
|
|
+ return port;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
|
|
|
public static void main(String[] args) throws Exception {
|
|
public static void main(String[] args) throws Exception {
|