Package com.bj58.spat.gaea.server.contract.context

Examples of com.bj58.spat.gaea.server.contract.context.ServiceConfig


         
          Global global = Global.getSingleton();
          if(global != null){
            //判断当前服务启用权限认证
            if(global.getGlobalSecureIsRights()){
              SecureContext securecontext = global.getGlobalSecureContext(context.getChannel().getNettyChannel());
              bool = securecontext.isRights();
              if(bool){
                desKeyStr = securecontext.getDesKey();
              }
            }
          }
         
          if(desKeyStr != null){
View Full Code Here


    logger.info("service gaea_log4j.xml: " + log4jConfigPath);
    logger.info("default gaea_log4j.xml: " + log4jConfigDefaultPath);
   
    // load service config
    logger.info("load service config...");
    ServiceConfig sc = loadServiceConfig(gaeaConfigDefaultPath, gaeaConfigPath);
    Set<String> keySet = argsMap.keySet();
    for(String key : keySet) {
      logger.info(key + ": " + argsMap.get(key));
      sc.set(key, argsMap.get(key));
    }
    if(sc.getString("gaea.service.name") == null || sc.getString("gaea.service.name").equalsIgnoreCase("")) {
      logger.info("gaea.service.name:" + serviceName);
      sc.set("gaea.service.name", serviceName);
    }
    Global.getSingleton().setServiceConfig(sc);

   
    // init class loader
    logger.info("-----------------loading global jars------------------");
    DynamicClassLoader classLoader = new DynamicClassLoader();
    classLoader.addFolder(
        rootPath + "service/deploy/" + sc.getString("gaea.service.name") + "/",
        rootPath + "service/lib/",
        rootPath + "lib"
        );
   
    GlobalClassLoader.addSystemClassPathFolder(
        rootPath + "service/deploy/" + sc.getString("gaea.service.name") + "/",
        rootPath + "service/lib/",
        rootPath + "lib"
        );
    logger.info("-------------------------end-------------------------\n");

    if(new File(serviceFolderPath).isDirectory() || !serviceName.equalsIgnoreCase("error_service_name_is_null")) {
      // load proxy factory
      logger.info("--------------------loading proxys-------------------");
      IProxyFactory proxyFactory = ProxyFactoryLoader.loadProxyFactory(classLoader);
      Global.getSingleton().setProxyFactory(proxyFactory);
      logger.info("-------------------------end-------------------------\n");
     
      // load init beans
      logger.info("-----------------loading init beans------------------");
      loadInitBeans(classLoader, sc);
      logger.info("-------------------------end-------------------------\n");
    }
   
    // load global request-filters
    logger.info("-----------loading global request filters------------");
    List<IFilter> requestFilters = loadFilters(classLoader, sc, "gaea.filter.global.request");
    for(IFilter filter : requestFilters) {
      Global.getSingleton().addGlobalRequestFilter(filter);
    }
    logger.info("-------------------------end-------------------------\n");
   
    // load global response-filters
    logger.info("-----------loading global response filters-----------");
    List<IFilter> responseFilters = loadFilters(classLoader, sc, "gaea.filter.global.response");
    for(IFilter filter : responseFilters) {
      Global.getSingleton().addGlobalResponseFilter(filter);
    }
    logger.info("-------------------------end-------------------------\n");
   
    // load connection filters
    logger.info("-----------loading connection filters-----------");
    List<IFilter> connFilters = loadFilters(classLoader, sc, "gaea.filter.connection");
    for(IFilter filter : connFilters) {
      Global.getSingleton().addConnectionFilter(filter);
    }
    logger.info("-------------------------end-------------------------\n");
   
    // load secureKey 当gaea.secure不为true时不启动权限认证
    logger.info("------------------load secureKey start---------------------");
    if(sc.getString("gaea.secure") != null && "true".equalsIgnoreCase(sc.getString("gaea.secure"))) {
      logger.info("gaea.secure:" + sc.getString("gaea.secure"));
      loadSecureKey(sc,serviceFolderPath);
    }
    logger.info("------------------load secureKey end----------------------\n");
   
    //注册信号 linux下支持USR2
    logger.info("------------------signal registr start---------------------");
    String osName = System.getProperty("os.name").toLowerCase();
    if(osName != null && osName.indexOf("window") == -1){
      OperateSignal operateSignalHandler = new OperateSignal();
      Signal sig = new Signal("USR2");
      Signal.handle(sig, operateSignalHandler);
    }
    logger.info("------------------signal registr success----------------------\n");
   
    // load servers
    logger.info("------------------ starting servers -----------------");
    loadServers(classLoader, sc);
    logger.info("-------------------------end-------------------------\n");
   
    // add current service file to monitor
    if(sc.getBoolean("gaea.hotdeploy")) {
      logger.info("------------------init file monitor-----------------");
      addFileMonitor(rootPath, sc.getString("gaea.service.name"));
      logger.info("-------------------------end-------------------------\n");
    }
   
    try {
      registerExcetEven();
View Full Code Here

   * @param cps
   * @return
   * @throws Exception
   */
  private static ServiceConfig loadServiceConfig(String... cps) throws Exception {
    ServiceConfig sc = ServiceConfig.getServiceConfig(cps);
    if(sc == null) {
      logger.error("ServiceConfig sc is null");
    }
   
    return sc;
View Full Code Here

public class RequestMappingTest {

  @SuppressWarnings("unchecked")
  private Map<String, Controler> init() throws Exception {
    ServiceConfig sc = ServiceConfig
        .getServiceConfig("E:/javaproject/bj58.gaea.server/config/demo_config_all.xml");
    Global.getSingleton().setServiceConfig(sc);
    Global.getSingleton().setRootPath("D:/gaea/server/");

    Class<?> cls = RequestMapping.class;
View Full Code Here

public class ServiceConfigTest {
 
  @Test
  public void testCreateInstance() throws Exception {
   
    ServiceConfig sc = ServiceConfig.getServiceConfig(RootPath.projectRootPath + "config/gaea_config.xml");
   
    Assert.assertEquals("", sc.getString("gaea.service.name"));
    Assert.assertEquals("utf-8", sc.getString("gaea.encoding"));
    Assert.assertEquals("com.bj58.spat.gaea.server.core.init.SerializerInit", sc.getString("gaea.init"));

    //socket
    Assert.assertEquals("0.0.0.0", sc.getString("gaea.server.tcp.listenIP"));
    Assert.assertEquals(9090, sc.getInt("gaea.server.tcp.listenPort"));
    Assert.assertEquals(60, sc.getInt("gaea.server.tcp.workerCount"));
    Assert.assertEquals("com.bj58.spat.gaea.server.core.communication.tcp.SocketServer", sc.getString("gaea.server.tcp.implement"));
    Assert.assertEquals(true, sc.getBoolean("gaea.server.tcp.enable"));
    Assert.assertEquals(1, sc.getList("gaea.server.tcp.filter.request", ",").size());
    Assert.assertEquals("com.bj58.spat.gaea.server.core.filter.ProtocolParseFilter", sc.getList("gaea.server.tcp.filter.request", ",").get(0));
    Assert.assertEquals(1, sc.getList("gaea.server.tcp.filter.response", ",").size());
    Assert.assertEquals("com.bj58.spat.gaea.server.core.filter.ProtocolCreateFilter", sc.getList("gaea.server.tcp.filter.response", ",").get(0));
    Assert.assertEquals(65536, sc.getInt("gaea.server.tcp.receiveBufferSize"));
    Assert.assertEquals(65536, sc.getInt("gaea.server.tcp.sendBufferSize"));
    Assert.assertEquals(524288, sc.getInt("gaea.server.tcp.frameMaxLength"));
   
    //http
    Assert.assertEquals("0.0.0.0", sc.getString("gaea.server.http.listenIP"));
    Assert.assertEquals(8080, sc.getInt("gaea.server.http.listenPort"));
    Assert.assertEquals(200, sc.getInt("gaea.server.http.workerCount"));
    Assert.assertEquals("com.bj58.spat.gaea.server.core.communication.http.HttpServer", sc.getString("gaea.server.http.implement"));
    Assert.assertEquals(false, sc.getBoolean("gaea.server.http.enable"));
    Assert.assertEquals(null, sc.getList("gaea.server.http.filter.request", ","));
    Assert.assertEquals(null, sc.getList("gaea.server.http.filter.response", ","));
    Assert.assertEquals(65536, sc.getInt("gaea.server.http.receiveBufferSize"));
    Assert.assertEquals(65536, sc.getInt("gaea.server.http.sendBufferSize"));
    Assert.assertEquals(524288, sc.getInt("gaea.server.http.frameMaxLength"));
   
    //telnet
    Assert.assertEquals("0.0.0.0", sc.getString("gaea.server.telnet.listenIP"));
    Assert.assertEquals(7070, sc.getInt("gaea.server.telnet.listenPort"));
    Assert.assertEquals(1, sc.getInt("gaea.server.telnet.workerCount"));
    Assert.assertEquals("com.bj58.spat.gaea.server.core.communication.telnet.TelnetServer", sc.getString("gaea.server.telnet.implement"));
    Assert.assertEquals(true, sc.getBoolean("gaea.server.telnet.enable"));
    Assert.assertEquals(null, sc.getList("gaea.server.telnet.filter.request", ","));
    Assert.assertEquals(null, sc.getList("gaea.server.telnet.filter.response", ","));
    Assert.assertEquals(65536, sc.getInt("gaea.server.telnet.receiveBufferSize"));
    Assert.assertEquals(65536, sc.getInt("gaea.server.telnet.sendBufferSize"));
    Assert.assertEquals(524288, sc.getInt("gaea.server.telnet.frameMaxLength"));
  }
View Full Code Here

 
 
  @Test
  public void testCreateInstanceII() throws Exception {
   
    ServiceConfig sc = ServiceConfig.getServiceConfig(RootPath.projectRootPath + "config/gaea_config.xml",
                              RootPath.projectRootPath + "config/demo_config.xml");
   
    Assert.assertEquals(null, sc.getString("gaea.service.name.abc"));
    Assert.assertEquals("demo", sc.getString("gaea.service.name"));
    Assert.assertEquals("utf-8", sc.getString("gaea.encoding"));
    Assert.assertEquals("com.bj58.spat.gaea.server.core.init.SerializerInit,com.bj58.zhaopin.gaea.pusher.zpt.components.Global", sc.getString("gaea.init"));

    //socket
    Assert.assertEquals("192.168.1.123", sc.getString("gaea.server.tcp.listenIP"));
    Assert.assertEquals(10000, sc.getInt("gaea.server.tcp.listenPort"));
    Assert.assertEquals(60, sc.getInt("gaea.server.tcp.workerCount"));
    Assert.assertEquals("com.bj58.spat.gaea.server.core.communication.tcp.SocketServer", sc.getString("gaea.server.tcp.implement"));
    Assert.assertEquals(true, sc.getBoolean("gaea.server.tcp.enable"));
    Assert.assertEquals(1, sc.getList("gaea.server.tcp.filter.request", ",").size());
    Assert.assertEquals("com.bj58.spat.gaea.server.core.filter.ProtocolParseFilter", sc.getList("gaea.server.tcp.filter.request", ",").get(0));
    Assert.assertEquals(1, sc.getList("gaea.server.tcp.filter.response", ",").size());
    Assert.assertEquals("com.bj58.spat.gaea.server.core.filter.ProtocolCreateFilter", sc.getList("gaea.server.tcp.filter.response", ",").get(0));
    Assert.assertEquals(65536, sc.getInt("gaea.server.tcp.receiveBufferSize"));
    Assert.assertEquals(65536, sc.getInt("gaea.server.tcp.sendBufferSize"));
    Assert.assertEquals(524288, sc.getInt("gaea.server.tcp.frameMaxLength"));
   
    //http
    Assert.assertEquals("0.0.0.0", sc.getString("gaea.server.http.listenIP"));
    Assert.assertEquals(8080, sc.getInt("gaea.server.http.listenPort"));
    Assert.assertEquals(200, sc.getInt("gaea.server.http.workerCount"));
    Assert.assertEquals("com.bj58.spat.gaea.server.core.communication.http.HttpServer", sc.getString("gaea.server.http.implement"));
    Assert.assertEquals(true, sc.getBoolean("gaea.server.http.enable"));
    Assert.assertEquals(null, sc.getList("gaea.server.http.filter.request", ","));
    Assert.assertEquals(null, sc.getList("gaea.server.http.filter.response", ","));
    Assert.assertEquals(65536, sc.getInt("gaea.server.http.receiveBufferSize"));
    Assert.assertEquals(65536, sc.getInt("gaea.server.http.sendBufferSize"));
    Assert.assertEquals(524288, sc.getInt("gaea.server.http.frameMaxLength"));
   
    //telnet
    Assert.assertEquals("0.0.0.0", sc.getString("gaea.server.telnet.listenIP"));
    Assert.assertEquals(7070, sc.getInt("gaea.server.telnet.listenPort"));
    Assert.assertEquals(1, sc.getInt("gaea.server.telnet.workerCount"));
    Assert.assertEquals("com.bj58.spat.gaea.server.core.communication.telnet.TelnetServer", sc.getString("gaea.server.telnet.implement"));
    Assert.assertEquals(true, sc.getBoolean("gaea.server.telnet.enable"));
    Assert.assertEquals(null, sc.getList("gaea.server.telnet.filter.request", ","));
    Assert.assertEquals(null, sc.getList("gaea.server.telnet.filter.response", ","));
    Assert.assertEquals(65536, sc.getInt("gaea.server.telnet.receiveBufferSize"));
    Assert.assertEquals(65536, sc.getInt("gaea.server.telnet.sendBufferSize"));
    Assert.assertEquals(524288, sc.getInt("gaea.server.telnet.frameMaxLength"));
  }
View Full Code Here

    }
  }

  @Override
  public void filter(GaeaContext context) throws Exception {
    StopWatch sw = context.getStopWatch();
    Collection<PerformanceCounter> pcList = sw.getMapCounter().values();
    for(PerformanceCounter pc : pcList) {
      if(pc.getExecuteTime() > minRecordTime) {
        StringBuilder sbMsg = new StringBuilder();
        sbMsg.append(serviceName);
        sbMsg.append("--");
        sbMsg.append(pc.getKey());
        sbMsg.append("--time: ");
        sbMsg.append(pc.getExecuteTime());
       
        sbMsg.append(" [fromIP: ");
        sbMsg.append(sw.getFromIP());
        sbMsg.append(";localIP: ");
        sbMsg.append(sw.getLocalIP()+"]");
       
        udpClient.send(sbMsg.toString());
      }
    }
  }
View Full Code Here

   */
  void doInvoke(GaeaContext context) {
    logger.debug("------------------------------ begin request-----------------------------");

    StringBuffer sbInvokerMsg = new StringBuffer();
    StopWatch sw = context.getStopWatch();
    Object response = null;
    Protocol protocol = null;
   
    try {
        protocol = context.getGaeaRequest().getProtocol();
      RequestProtocol request = (RequestProtocol)protocol.getSdpEntity();
     
      sbInvokerMsg.append("protocol version:");
      sbInvokerMsg.append(protocol.getVersion());
      sbInvokerMsg.append("\nfromIP:");
      sbInvokerMsg.append(context.getChannel().getRemoteIP());
      sbInvokerMsg.append("\nlookUP:");
      sbInvokerMsg.append(request.getLookup());
      sbInvokerMsg.append("\nmethodName:");
      sbInvokerMsg.append(request.getMethodName());
      sbInvokerMsg.append("\nparams:");
     
      if(request.getParaKVList() != null){
        for (KeyValuePair kv : request.getParaKVList()) {
          if(kv != null) {
            sbInvokerMsg.append("\n--key:");
            sbInvokerMsg.append(kv.getKey());
            sbInvokerMsg.append("\n--value:");
            sbInvokerMsg.append(kv.getValue());
          } else {
            logger.error("KeyValuePair is null  Lookup:" + request.getLookup() + "--MethodName:" + request.getMethodName());
          }
        }
      }
     
      logger.debug(sbInvokerMsg.toString());
      logger.debug("begin get proxy factory");
     
      // get local proxy
      IProxyStub localProxy = Global.getSingleton().getProxyFactory().getProxy(request.getLookup());
      logger.debug("proxyFactory.getProxy finish");

      if (localProxy == null) {
        ServiceFrameException sfe = new ServiceFrameException(
            "method:ProxyHandle.invoke--msg:" + request.getLookup() + "." + request.getMethodName() + " not fond",
            context.getChannel().getRemoteIP(),
            context.getChannel().getLocalIP(),
            request,
            ErrorState.NotFoundServiceException,
            null);
        response = ExceptionHelper.createError(sfe);
        logger.error("localProxy is null", sfe);
      } else {
        logger.debug("begin localProxy.invoke");
        String swInvoderKey = "InvokeRealService_" + request.getLookup() + "." + request.getMethodName();
        sw.startNew(swInvoderKey, sbInvokerMsg.toString());
        sw.setFromIP(context.getChannel().getRemoteIP());
        sw.setLocalIP(context.getChannel().getLocalIP());
       
        //invoker real service
        GaeaResponse gaeaResponse = localProxy.invoke(context);
       
        sw.stop(swInvoderKey);
       
        logger.debug("end localProxy.invoke");
        context.setGaeaResponse(gaeaResponse);
        response = createResponse(gaeaResponse);
        logger.debug("localProxy.invoke finish");
View Full Code Here

 
  private static String jarPath = "E:\\javaproject\\bj58.gaea.server\\lib";
 
  @Test
  public void testContract() {
    ClassInfo ciMulti = ScanClass.contract(IMulti.class);
    List<MethodInfo> miList1 = ciMulti.getMethodList();
    Assert.assertEquals("loadByID", miList1.get(0).getMethod().getName());
    Assert.assertEquals("loadByName", miList1.get(1).getMethod().getName());

   
    ClassInfo ciSingle = ScanClass.contract(ISingle.class);
    List<MethodInfo> miList2 = ciSingle.getMethodList();
    Assert.assertEquals("loadByID", miList2.get(0).getMethod().getName());
  }
View Full Code Here

  @SuppressWarnings("rawtypes")
  @Test
  public void testGetContractInfo() throws Exception {
    DynamicClassLoader classLoader = new DynamicClassLoader();
    classLoader.addFolder(jarPath);
    ContractInfo ci = ScanClass.getContractInfo(jarPath, classLoader);
    for(SessionBean sb : ci.getSessionBeanList()) {
     
      Assert.assertEquals("com.bj58.spat.servicedemo.contract.INewsService", sb.getInterfaceName());
     
      Map<String, String> map = sb.getInstanceMap();
      Iterator it = map.entrySet().iterator();
View Full Code Here

TOP

Related Classes of com.bj58.spat.gaea.server.contract.context.ServiceConfig

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.