⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cache.jsp

📁 jive的源码
💻 JSP
📖 第 1 页 / 共 2 页
字号:
<%/** *    $RCSfile: cache.jsp,v $ *    $Revision: 1.4 $ *    $Date: 2002/10/31 20:56:46 $ */%><%@ page import="java.util.*,                 java.text.*,                 com.jivesoftware.util.*,                 com.jivesoftware.forum.*,                 com.jivesoftware.forum.database.*,                 com.jivesoftware.forum.util.*"%><%@ include file="global.jsp" %><%@ include file="cacheUtils.jsp" %><%    // Permission check    if (!isSystemAdmin) {        throw new UnauthorizedException("You don't have admin privileges to perform this operation.");    }    // get parameters    boolean cacheEnabled = ParamUtils.getBooleanParameter(request,"cacheEnabled");    boolean doCache = ParamUtils.getBooleanParameter(request,"doCache");    boolean clearCache = request.getParameter("clearCache") != null;    boolean doWarmup = request.getParameter("warmupCache") != null;    boolean editSizes = request.getParameter("editSizes") != null;    boolean setClusteringEnabled = request.getParameter("setClusteringEnabled") != null;    boolean clusteringEnabled = ParamUtils.getBooleanParameter(request,"clusteringEnabled");    String clusterUID = ParamUtils.getParameter(request,"clusterUID");    int[] cacheIDs = ParamUtils.getIntParameters(request,"cacheID",-1);    boolean promptForRestart = "restart".equals(request.getParameter("prompt"));    boolean stqcEnabled = ParamUtils.getBooleanParameter(request,"stqcEnabled");    boolean setStqcEnabled = request.getParameter("setStqcEnabled") != null;    long stqcLifetime = ParamUtils.getLongParameter(request,"stqcLifetime",-1L);    boolean saveLifetime = request.getParameter("saveLifetime") != null;    // Redirect to edit cache sizes    if (editSizes) {        response.sendRedirect("editCache.jsp");        return;    }    // dbForumFactory and cacheManager are defined in cacheUtils.jsp    // Turn the cache on or off    if (doCache) {        cacheManager.setCacheEnabled(cacheEnabled);        response.sendRedirect("cache.jsp");        return;    }    // Warmup cache if requested    boolean indicateWarmup = false;    if (doWarmup) {        ForumCategory rootCat = dbForumFactory.getRootForumCategory();        for (Iterator iter=rootCat.getRecursiveForums(); iter.hasNext();) {            Forum forum = (Forum)iter.next();            Runnable r = new ForumCacheWarmupTask(forum);            TaskEngine.addTask(r);            indicateWarmup = true;        }    }    // Clear one or multiple caches if requested.    if (clearCache) {        for (int i=0; i<cacheIDs.length; i++) {            if (cacheIDs[i] != -1) {                Cache cache = caches[cacheIDs[i]];                cache.clear();            }        }        // Done so redirect        response.sendRedirect("cache.jsp");        return;    }    if (setClusteringEnabled && Version.EDITION == Version.Edition.ENTERPRISE) {        com.jivesoftware.util.CacheFactory.setClusteringEnabled(clusteringEnabled);        // Since we've changed the cacheing policy, we need to re-init        // the caches:        DatabaseCacheManager dbCacheManager = dbForumFactory.getCacheManager();        //dbCacheManager.initCache();        // Done, so redirect        response.sendRedirect("cache.jsp?prompt=restart");        return;    }    if (setStqcEnabled && Version.EDITION == Version.Edition.ENTERPRISE) {        DatabaseCacheManager dbCacheManager = dbForumFactory.getCacheManager();        dbCacheManager.setShortTermQueryCacheEnabled(stqcEnabled);        // Done, so redirect:        response.sendRedirect("cache.jsp");        return;    }    if (saveLifetime && Version.EDITION == Version.Edition.ENTERPRISE) {        if (stqcLifetime != -1L) {            cacheManager.shortTermQueryCache.setMaxLifetime(stqcLifetime);            JiveGlobals.setJiveProperty("cache.shortTermQueryCache.time",                    String.valueOf(stqcLifetime));            // Done, so redirect:            response.sendRedirect("cache.jsp");            return;        }    }    // Reset variables for this page:    cacheEnabled = cacheManager.isCacheEnabled();    if (Version.EDITION == Version.Edition.ENTERPRISE) {        stqcEnabled = cacheManager.isShortTermQueryCacheEnabled();        stqcLifetime = 5000L;        if (cacheManager.shortTermQueryCache != null) {            stqcLifetime = cacheManager.shortTermQueryCache.getMaxLifetime();        }    }    // Number of forums in the system    int numForums = dbForumFactory.getForumCount();    // Determine if clustering is enabled:    clusteringEnabled = com.jivesoftware.util.CacheFactory.isClusteringEnabled();    Set clusters = null;    Map cacheStats = null;    if (clusteringEnabled) {        clusters = com.tangosol.net.CacheFactory.ensureCluster().getMemberSet();        cacheStats = com.tangosol.net.CacheFactory.getOptimisticCache(            "$cacheStats", com.tangosol.net.CacheFactory.class.getClassLoader());    }%><%@ include file="header.jsp" %><p><%  // Title of this page and breadcrumbs    String title = "Cache Settings";    String[][] breadcrumbs = {        {"Main", "main.jsp"},        {"Cache Settings", "cache.jsp"}    };%><%@ include file="title.jsp" %><script language="JavaScript" type="text/javascript">    <%  if (promptForRestart) { %>        alert("Because you changed your caching policy, you MUST restart your appserver or Jive will not work correctly.");    <%  } else if (indicateWarmup) { %>        alert("A cache warmup task has been started in the background.");    <%  } else { %>    <%  } %></script><font size="-1">Jive Forums relies on its cache to process forum data efficiently. Use this panelto monitor and modify your cache settings. There are very few circumstances whereyou should entirely disable cache. However, you can edit the cache sizes to tune forminimal memory use or maximum performance.</font><p><%  if (cacheEnabled && clusteringEnabled && Version.EDITION == Version.Edition.ENTERPRISE) { %><font size="-1"><b>Cluster Overview</b></font><ul>    <font size="-1">    Below is an overview of your Jive Forums cluster. You have    <%= clusters.size() %> node<%= (clusters.size()==1?"":"s") %> running    and you are licensed to    <%= LicenseManager.getNumClusterMembers() %>    node<%= (LicenseManager.getNumClusterMembers()==1?"":"s") %>    in this cluster.    </font><p>    <font></ul><table cellpadding="0" cellspacing="0" border="0" width="100%"><tr>    <td width="1%"><img src="images/blank.gif" width="40" height="1" border="0"></td>    <td width="1%" valign="top">    <table cellpadding="0" cellspacing="0" border="0" width="1%">    <tr>    <%      // Build a list of the members in the cluster:            java.util.List memberList = new java.util.LinkedList();            for (Iterator iter=clusters.iterator(); iter.hasNext();) {                memberList.add((com.tangosol.coherence.component.net.member.ClusterMember)iter.next());            }            for (int i=0; i<memberList.size(); i++) {                com.tangosol.coherence.component.net.member.ClusterMember member                        = (com.tangosol.coherence.component.net.member.ClusterMember)memberList.get(i);    %>        <td>            <table cellpadding="0" cellspacing="0" border="0">            <tr>                <%  if (clusters.size() == 1) { %>                    <td width="49%"><img src="images/blank.gif" width="100%" height="55" border="0"></td>                    <td><a href="member.jsp?uid=<%= member.getUid().toString() %>"                        title="Click for more details"                        ><img src="images/cache_none.gif" width="29" height="55" border="0"></a></td>                    <td width="49%"><img src="images/blank.gif" width="100%" height="55" border="0"></td>                <%  } else if (i == 0) { %>                    <td width="49%"><img src="images/blank.gif" width="100%" height="55" border="0"></td>                    <td><a href="member.jsp?uid=<%= member.getUid().toString() %>"                        title="Click for more details"                        ><img src="images/cache_left.gif" width="40" height="55" border="0"></a></td>                    <td width="49%"><img src="images/cache_stretch.gif" width="100%" height="55" border="0"></td>                <%  } else if ((i+1) >= clusters.size()) { %>                    <td width="49%"><img src="images/cache_stretch.gif" width="100%" height="55" border="0"></td>                    <td><a href="member.jsp?uid=<%= member.getUid().toString() %>"                        title="Click for more details"                        ><img src="images/cache_right.gif" width="40" height="55" border="0"></a></td>                    <td width="49%"><img src="images/blank.gif" width="100%" height="55" border="0"></td>                <%  } else { %>                    <td width="49%"><img src="images/cache_stretch.gif" width="100%" height="55" border="0"></td>                    <td><a href="member.jsp?uid=<%= member.getUid().toString() %>"                        title="Click for more details"                        ><img src="images/cache_center.gif" width="41" height="55" border="0"></a></td>                    <td width="49%"><img src="images/cache_stretch.gif" width="100%" height="55" border="0"></td>                <%  } %>            </tr>            </table>        </td>    <%      } %>    </tr>    <tr>    <%      for (int i=0; i<memberList.size(); i++) {                com.tangosol.coherence.component.net.member.ClusterMember member                        = (com.tangosol.coherence.component.net.member.ClusterMember)memberList.get(i);                boolean isLocalMember = false;                com.tangosol.net.Cluster cluster =                        ((com.tangosol.net.Cluster)com.tangosol.net.CacheFactory.ensureCluster());                String thisUID = cluster.getLocalMember().getUid().toString();                isLocalMember = thisUID.equals(member.getUid().toString());    %>        <td nowrap>            <table cellpadding="5" cellspacing="0" border="0">            <tr><td nowrap align="center">                <font size="-2" face="verdana">                [<a href="member.jsp?uid=<%= member.getUid().toString() %>"                <%  if (isLocalMember) { %>                    ><b><%= member.getAddress().getHostName() %></b></a>]                <%  } else { %>                    ><%= member.getAddress().getHostName() %></a>]                <%  } %>                <br>                Joined: <%= SkinUtils.dateToText(request,pageUser,new Date(member.getTimestamp())) %>                </font>            </td></tr>            </table>        </td><%          } // end for each node %>    </tr>    </table>    </td>    <td width="98%" align="right" valign="top">        <img src="images/tangosolbutton.gif" width="96" height="42" border="0"         hspace="10"         title="Clustering powered by Tangosol's Coherence">    </td></tr></table><p><%  } %><%  if (cacheEnabled) { %><form action="cache.jsp" method="post"><font size="-1"><b>Cache Performance Summary</b></font><ul>    <font size="-1">    Below is a summary of all caches. To adjust the    size of each cache, click the "Edit Cache Sizes" button below. To clear    out the contents of a cache, click the checkbox next to the cache you want    to clear and click "Clear" below.    <p>    Effectiveness    measures how well your cache is working. If the effectiveness is low, that    usually means that the cache is too small. Caches for which this may be    the case are flagged below.    </font>    <p>    <table bgcolor="<%= tblBorderColor %>" cellpadding="0" cellspacing="0" border="0">    <td>    <table cellpadding="4" cellspacing="1" border="0" width="100%">    <tr bgcolor="#eeeeee">    <td align="center"><font size="-2" face="verdana"><b>CACHE TYPE</b></font></td>    <td align="center"><font size="-2" face="verdana"><b>SIZE</b></font></td>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -