<%@ page contentType="text/html; charset=UTF-8" %> <%-- - - Copyright (C) 2004-2008 Jive Software, 2017-2026 Ignite Realtime Foundation. All rights reserved. - - Licensed 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 - - http://www.apache.org/licenses/LICENSE-2.0 - - 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. --%> <%@ page import="org.jivesoftware.database.ConnectionProvider, org.jivesoftware.database.DbConnectionManager, org.jivesoftware.database.DefaultConnectionProvider" errorPage="error.jsp" %> <%@ page import="org.jivesoftware.util.StringUtils" %> <%@ page import="java.sql.Connection" %> <%@ page import="java.sql.DatabaseMetaData" %> <%@ page import="java.sql.SQLException" %> <%@ page import="org.slf4j.Logger" %> <%@ page import="org.slf4j.LoggerFactory" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> <fmt:message key="server.db.title"/> <% // Get metadata about the database final Logger Log = LoggerFactory.getLogger("server-db.jsp"); Connection con = null; try { con = DbConnectionManager.getConnection(); DatabaseMetaData metaData = con.getMetaData(); %>

<% if (metaData.supportsTransactions()) { %> <% } %>
<%= metaData.getDatabaseProductName() %> <%= metaData.getDatabaseProductVersion() %>
<%= metaData.getDriverName() %>
<%= metaData.getDriverVersion() %>
<%= metaData.getURL() %>
<%= metaData.getUserName() %>
<%= (metaData.supportsTransactions()) ? "Yes" : "No" %>
<% if (con.getTransactionIsolation() == Connection.TRANSACTION_NONE) { %> TRANSACTION_NONE <% } else if (con.getTransactionIsolation() == Connection.TRANSACTION_READ_COMMITTED) { %> TRANSACTION_READ_COMMITTED <% } else if (con.getTransactionIsolation() == Connection.TRANSACTION_READ_UNCOMMITTED) { %> TRANSACTION_READ_UNCOMMITTED <% } else if (con.getTransactionIsolation() == Connection.TRANSACTION_REPEATABLE_READ) { %> TRANSACTION_REPEATABLE_READ <% } else if (con.getTransactionIsolation() == Connection.TRANSACTION_SERIALIZABLE) { %> TRANSACTION_SERIALIZABLE <% } %>

<%= (metaData.supportsMultipleTransactions()) ? "Yes" : "No" %>
<%= (metaData.isReadOnly()) ? "Yes" : "No" %>
<% } finally { try { if (con != null) { con.close(); } } catch (SQLException e) { Log.error("Unable to close connection", e); } } final ConnectionProvider connectionProvider = DbConnectionManager.getConnectionProvider(); if (connectionProvider instanceof DefaultConnectionProvider) { final DefaultConnectionProvider defaultConnectionProvider = (DefaultConnectionProvider) connectionProvider; final int activeConnections = defaultConnectionProvider.getActiveConnections(); final int idleConnections = defaultConnectionProvider.getIdleConnections(); final int maxConnections = defaultConnectionProvider.getMaxConnections(); final int activePercent = 100 * activeConnections / maxConnections; final int idlePercent = 100 * idleConnections / maxConnections; final int unopenedPercent = 100 - idlePercent - activePercent; %>

<%=StringUtils.getFullElapsedTime(defaultConnectionProvider.getDurationBetweenEvictionRuns())%>
<%=StringUtils.getFullElapsedTime(defaultConnectionProvider.getMinIdleTime())%>
<%=StringUtils.getFullElapsedTime(defaultConnectionProvider.getConnectionTimeout())%>
<%=StringUtils.getFullElapsedTime(defaultConnectionProvider.getMaxWaitTime())%>
<%= defaultConnectionProvider.getMinConnections() %>
<%= maxConnections %>
<%= defaultConnectionProvider.getTestSQL() %>
<%= (defaultConnectionProvider.getTestBeforeUse() ? "Yes" : "No") %>
<%= (defaultConnectionProvider.getTestAfterUse() ? "Yes" : "No") %>
<%=StringUtils.getFullElapsedTime(defaultConnectionProvider.getTestTimeout())%>
<%= activeConnections %> (), <%= idleConnections %> (), <%= maxConnections %> ()
<% if (activePercent > 0) { %><% } %> <% if (idlePercent > 0) { %><% } %>
   
<%= defaultConnectionProvider.getConnectionsServed() %>
<%= defaultConnectionProvider.getRefusedCount() %>
<%=StringUtils.getFullElapsedTime(defaultConnectionProvider.getMeanBorrowWaitTime())%>
<%=StringUtils.getFullElapsedTime(defaultConnectionProvider.getMaxBorrowWaitTime())%>
<% } %>

<fmt:message key=" />