Как проверить пул соединений источника данных Tomcat в server.xml - PullRequest
0 голосов
/ 07 июня 2018

Я пытался проверить пул соединений в server.xml

Вот мой server.xml от Tomcat

server.xml

<GlobalNamingResources>
<Resource name="jdbc/test" auth="Container" 
          type="javax.sql.DataSource"
          maxTotal="200" maxIdle="50" maxWaitMillis="10000"
          username="test" password="test" 
          driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
          url="jdbc:sqlserver://localhost\test;databaseName=test"  />
</GlobalNamingResources>

context.xml

<Context>
    <ResourceLink name="jdbc/test"
                 golbal="jdbc/test"
                   type="javax.sql.DataSource" />
</Context>

Я понятия не имею, как проверить пул соединений из server.xml, потому что я неверно или неправильно указал источник данных в context.xml.

Поскольку сервер находится в производственной среде и онне могу сбросить.Я не могу изменить источник данных на context.xml

Я проверяю ссылку на лоты, и большая часть монитора для пула соединений состоит в том, чтобы поместить источник данных в context.xml

Например: http://www.jcgonzalez.com/java-monitor-jdbc-connection-pool-servlet

Я следую всему приведенному выше коду и могу проверить пул соединений в среде тестирования.

Но я не могу проверить пул соединений из server.xml.

Есть ли какая-либо ссылкакод для проверки состояния пула соединений источника данных в server.xml?

Я пытался

   try {
        MBeanServer server = ManagementFactory.getPlatformMBeanServer();

        Set<ObjectName> objectNames = server.queryNames(null, null);
        for (ObjectName name : objectNames) {
            MBeanInfo info = server.getMBeanInfo(name);

            if (info.getClassName().equals(
                    "org.apache.catalina.mbeans.ContextResourceLinkMBean")) {
                for (MBeanAttributeInfo mf : info.getAttributes()) {
                    Object attributeValue = server.getAttribute(name,
                            mf.getName());
                    if (attributeValue != null) {
                        writer.println("" + mf.getName() + " : "
                                + attributeValue.toString() + "<br/>");

                    }
                }
                break;
            }
        }
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

Но он только возвращает:

name : jdbc/test
global : jdbc/test
type : javax.sql.DataSource

Я хочу проверить соединениестатус пула не ссылка в context.xml

Может кто-нибудь помочь?

1 Ответ

0 голосов
/ 13 июня 2018

Эта презентация может помочь вам с вашими требованиями к мониторингу:

Презентации Tomcat - просто найдите «мониторинг».

...