Package railo.runtime.engine

Examples of railo.runtime.engine.CFMLEngineImpl


        sct.setEL(KeyConstants._config, config.getConfigFile().getAbsolutePath());
       
        // Servlets
        if(config instanceof ConfigServer) {
          ConfigServer cs=(ConfigServer) config;
          CFMLEngineImpl engine = (CFMLEngineImpl) cs.getCFMLEngine();
          Struct srv=new StructImpl(),params;
         
         
          ServletConfig[] configs = engine.getServletConfigs();
          ServletConfig sc;
          Enumeration e;
          String name,value;
          for(int i=0;i<configs.length;i++){
            sc=configs[i];
View Full Code Here


  public static Struct call(PageContext pc) throws PageException  {
    ConfigWeb cw = pc.getConfig();
    ConfigServer cs = cw.getConfigServer("server");
    ConfigWeb[] webs = cs.getConfigWebs();
    CFMLEngineFactory.getInstance();
    CFMLEngineImpl engine = (CFMLEngineImpl) cs.getCFMLEngine();
   
    Struct sct=new StructImpl();
   
   
    // Locks
    /*LockManager manager = pc.getConfig().getLockManager();
        String[] locks = manager.getOpenLockNames();
        for(int i=0;i<locks.length;i++){
          locks[i].
        }
        if(!ArrayUtil.isEmpty(locks))
          strLocks=" open locks at this time ("+List.arrayToList(locks, ", ")+").";
    */
   
    // Requests
    Query req=new QueryImpl(new Collection.Key[]{KeyConstants._web,KeyConstants._uri,START_TIME,KeyConstants._timeout}, 0, "requests");
    sct.setEL(KeyConstants._requests, req);
   
    // Template Cache
    Query tc=new QueryImpl(new Collection.Key[]{KeyConstants._web,ELEMENTS,KeyConstants._size}, 0, "templateCache");
    sct.setEL(KeyImpl.init("templateCache"), tc);
   
    // Scopes
    Struct scopes=new StructImpl();
    sct.setEL(KeyConstants._scopes, scopes);
    Query app=new QueryImpl(new Collection.Key[]{KeyConstants._web,KeyConstants._application,ELEMENTS,KeyConstants._size}, 0, "templateCache");
    scopes.setEL(KeyConstants._application, app);
    Query sess=new QueryImpl(new Collection.Key[]{KeyConstants._web,KeyConstants._application,USERS,ELEMENTS,KeyConstants._size}, 0, "templateCache");
    scopes.setEL(KeyConstants._session, sess);

    // Query
    Query qry=new QueryImpl(new Collection.Key[]{KeyConstants._web,KeyConstants._application,START_TIME,KeyConstants._sql}, 0, "requests");
    sct.setEL(QUERIES, qry);
   
    // Locks
    Query lck=new QueryImpl(new Collection.Key[]{KeyConstants._web,KeyConstants._application,KeyConstants._name,START_TIME,KeyConstants._timeout,KeyConstants._type}, 0, "requests");
    sct.setEL(LOCKS, lck);

    // Loop webs
    ConfigWebImpl web;
    Struct pcs;
    PageContextImpl _pc;
    int row,openConnections=0;
    CFMLFactoryImpl factory;
    ActiveQuery[] queries;
    ActiveQuery aq;
    ActiveLock[] locks;
    ActiveLock al;
    for(int i=0;i<webs.length;i++){
     
      // Loop requests
      web=(ConfigWebImpl) webs[i];
      factory=(CFMLFactoryImpl)web.getFactory();
      pcs = factory.getRunningPageContexts();
      Iterator<Object> it = pcs.valueIterator();
      while(it.hasNext()){
        _pc = (PageContextImpl) it.next();
        if(_pc.isGatewayContext()) continue;
       
        // Request
        row = req.addRow();
        req.setAt(KeyConstants._web, row, web.getLabel());
        req.setAt(KeyConstants._uri, row, getPath(_pc.getHttpServletRequest()));
        req.setAt(START_TIME, row, new DateTimeImpl(pc.getStartTime(),false));
        req.setAt(KeyConstants._timeout, row, new Double(pc.getRequestTimeout()));
       
        // Query
        queries = _pc.getActiveQueries();
        if(queries!=null) {
          for(int y=0;y<queries.length;y++){
            aq=queries[y];
            row = qry.addRow();
            qry.setAt(KeyConstants._web, row, web.getLabel());
            qry.setAt(KeyConstants._application, row, _pc.getApplicationContext().getName());
            qry.setAt(START_TIME, row, new DateTimeImpl(web,aq.startTime,true));
            qry.setAt(KeyConstants._sql, row, aq.sql);
          }
        }
       
        // Lock
        locks = _pc.getActiveLocks();
        if(locks!=null) {
          for(int y=0;y<locks.length;y++){
            al=locks[y];
            row = lck.addRow();
            lck.setAt(KeyConstants._web, row, web.getLabel());
            lck.setAt(KeyConstants._application, row, _pc.getApplicationContext().getName());
            lck.setAt(KeyConstants._name, row, al.name);
            lck.setAt(START_TIME, row, new DateTimeImpl(web,al.startTime,true));
            lck.setAt(KeyConstants._timeout, row, Caster.toDouble(al.timeoutInMillis/1000));
            lck.setAt(KeyConstants._type, row, al.type==LockManager.TYPE_EXCLUSIVE?"exclusive":"readonly");
          }
        }
      }
      openConnections+=web.getDatasourceConnectionPool().openConnections();


      // Template Cache
      Mapping[] mappings = ConfigImpl.getAllMappings(web);
      long[] tce = templateCacheElements(mappings);
      row = tc.addRow();
      tc.setAt(KeyConstants._web, row, web.getLabel());
      tc.setAt(KeyConstants._size, row, new Double(tce[1]));
      tc.setAt(ELEMENTS, row, new Double(tce[0]));
     
      // Scope Application
      getAllApplicationScopes(web,factory.getScopeContext(),app);
      getAllCFSessionScopes(web,factory.getScopeContext(),sess);
     
     
    }
   
    // Datasource
    Struct ds=new StructImpl();
    sct.setEL(KeyConstants._datasources, ds);
    ds.setEL(CACHED_QUERIES, Caster.toDouble(pc.getQueryCache().size(pc))); // there is only one cache for all contexts
    ds.setEL(OPEN_CONNECTIONS, Caster.toDouble(openConnections));
   
    // Memory
    Struct mem=new StructImpl();
    sct.setEL(KeyConstants._memory, mem);
    mem.setEL("heap", SystemUtil.getMemoryUsageAsStruct(SystemUtil.MEMORY_TYPE_HEAP));
    mem.setEL("nonheap", SystemUtil.getMemoryUsageAsStruct(SystemUtil.MEMORY_TYPE_NON_HEAP));
   
   
    // uptime
    sct.set("uptime", new DateTimeImpl(engine.uptime(),true));
   
    // now
    sct.set("now", new DateTimeImpl(pc));
   
   
View Full Code Here

TOP

Related Classes of railo.runtime.engine.CFMLEngineImpl

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.