Configuração do DataSource Druid da Alibaba

O Druid é considerado um dos melhores pools de conexão de banco de dados disponíveis para Java. Esta biblioteca oferece recursos poderosos de monitoramento e alta capacidade de extensão para aplicações empresariais.

Para obter a biblioteca, você pode utilizar o repositório central do Maven. A dependência está disponível em: http://central.maven.org/maven2/com/alibaba/druid/

A seguir, apresentamos as configurações necessárias para integrar o Druid em seu projeto.

Configuração no web.xml

 1 <filter>
 2 
 3         <filter-name>DruidWebStatFilter</filter-name>
 4 
 5         <filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class>
 6 
 7         <init-param>
 8 
 9             <param-name>exclusions</param-name>
10 
11             <param-value>/static/*,*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</param-value>
12 
13         </init-param>
14 
15     </filter>
16 
17     <filter-mapping>
18 
19         <filter-name>DruidWebStatFilter</filter-name>
20 
21         <url-pattern>/*</url-pattern>
22 
23     </filter-mapping>
24 
25  
26 
27     <!--
28  Monitoramento Druid -->
29 
30     <servlet>
31 
32         <servlet-name>DruidStatView</servlet-name>
33 
34         <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
35 
36     </servlet>
37 
38     <servlet-mapping>
39 
40         <servlet-name>DruidStatView</servlet-name>
41 
42         <url-pattern>/druid/*</url-pattern>
43 
44     </servlet-mapping>

Configuração de integração com Spring

 1 <!-- Configuração do DataSource -->
 2 <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
 3 <property name="url" value="jdbc:mysql://127.0.0.1:3306/paynow?characterEncoding=UTF-8"/>
 4 <property name="username" value="root"/>
 5 <property name="password" value="root"/>
 6         
 7         <!-- Tamanho inicial das conexões -->
 8         <property name="initialSize" value="0" />
 9         <!-- Número máximo de conexões ativas -->
10         <property name="maxActive" value="20" />
11         <!-- Número máximo de conexões ociosas -->
12         <property name="maxIdle" value="20" />
13         <!-- Número mínimo de conexões ociosas -->
14         <property name="minIdle" value="0" />
15         <!-- Tempo máximo de espera por uma conexão em milissegundos -->
16         <property name="maxWait" value="60000" />

17         <property name="validationQuery" value="SELECT 'x' from dual" />
18         <property name="testOnBorrow" value="false" />
19         <property name="testOnReturn" value="false" />
20         <property name="testWhileIdle" value="true" />

21         <!-- Intervalo de tempo para verificação de conexões ociosas em milissegundos -->
22         <property name="timeBetweenEvictionRunsMillis" value="60000" />
23         <!-- Tempo mínimo de vida de uma conexão no pool em milissegundos -->
24         <property name="minEvictableIdleTimeMillis" value="25200000" />

25         <!-- Ativar remoção de conexões abandonadas -->
26         <property name="removeAbandoned" value="true" />
27         <!-- Timeout para considerar uma conexão abandonada em segundos -->
28         <property name="removeAbandonedTimeout" value="1800" />
29         <!-- Habilitar log para conexões abandonadas -->
30         <property name="logAbandoned" value="true" />

31         <!-- Filtros para monitoramento do banco de dados -->
32         <property name="filters" value="mergeStat" />
33     </bean>

O DataSource posui uma interface de monitoramento entegrada. Para acessá-la, basta adicionar "/druid/index.html" ao final da URL do seu projeto no navegador.

Tags: java Druid connection-pool database Spring

Publicado em 7-20 16:39