package org.n3r.eql; import org.junit.Test; import org.n3r.diamond.client.impl.MockDiamondServer; import org.n3r.eql.diamond.Dql; import org.n3r.eql.ex.EqlExecuteException; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.notNullValue; import static org.junit.Assert.assertThat; public class DqlTest { @Test public void test() throws InterruptedException { MockDiamondServer.setUpMockServer(); MockDiamondServer.setConfigInfo("EqlConfig", "DEFAULT", "# 数据库连接信息\n" + "url=jdbc:mysql://192.168.99.100:13306/diamond?useUnicode=true&&characterEncoding=UTF-8&connectTimeout=30000&socketTimeout=30000&autoReconnect=true\n" + "username=root\n" + "password=my-secret-pw\n" + "\n" + "connection.impl=org.n3r.eql.trans.EqlDruidConnection\n" + "\n" + "# 配置初始化大小、最小、最大\n" + "initialSize=1\n" + "minIdle=1\n" + "maxActive=20\n" + "\n" + "# 配置获取连接等待超时的时间\n" + "maxWait=1000\n" + "\n" + "# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒\n" + "timeBetweenEvictionRunsMillis=60000\n" + "\n" + "# 配置一个连接在池中最小生存的时间,单位是毫秒\n" + "minEvictableIdleTimeMillis=300000\n" + "\n" + "validationQuery=SELECT 'x'"); String result = new Dql().selectFirst("demo").execute(); assertThat(result, is(notNullValue())); // while(true) { try { result = new Dql().selectFirst("demo").execute(); // System.out.println(result); // TimeUnit.SECONDS.sleep(10); } catch (EqlExecuteException e) { e.printStackTrace(); } } MockDiamondServer.tearDownMockServer(); } }