/*
* Copyright (C) 2014 Intel Corporation
* All rights reserved.
*/
package test.jooq;
import test.jdbi.*;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.intel.dcsg.cpg.io.UUID;
import com.intel.mtwilson.My;
import com.intel.mtwilson.jdbi.util.QueryManager;
import com.intel.mtwilson.jdbi.util.UUIDArgument;
import com.intel.mtwilson.jooq.util.JooqContainer;
import com.intel.mtwilson.tag.dao.TagJdbi;
import com.intel.mtwilson.tag.dao.jdbi.FileDAO;
import java.io.IOException;
import java.sql.Connection;
import java.util.Date;
import java.util.List;
import java.util.Map;
import org.jooq.DSLContext;
import org.junit.BeforeClass;
import org.junit.Test;
import org.skife.jdbi.v2.DBI;
import org.skife.jdbi.v2.Handle;
import org.skife.jdbi.v2.Query;
import org.skife.jdbi.v2.Update;
/**
*
* @author jbuhacoff
*/
public class TestJooq {
private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(TestJdbi.class);
private static String driverName;
private static QueryManager manager;
private static ObjectMapper mapper = new ObjectMapper();
/**
* Output:
*
* <pre>
* 2014-04-28 03:40:39,086 DEBUG [main] c.i.d.c.o.AbstractObjectPool [AbstractObjectPool.java:35] Creating new object for pool, currently borrowed 0
* 2014-04-28 03:40:39,086 DEBUG [main] c.i.d.c.u.j.ConnectionPool [ConnectionPool.java:34] creating new object for pool, now created 1 trashed 0 total 1
* 2014-04-28 03:40:40,100 DEBUG [main] c.i.d.c.u.j.PooledConnection [PooledConnection.java:28] [6324614990660108288] constructor wrapping jdbc:mysql://10.1.71.56:3306/mw_as?autoReconnect=true, UserName=root@10.254.186.37, MySQL-AB JDBC Driver
* 2014-04-28 03:40:40,123 DEBUG [main] c.i.d.c.o.AbstractObjectPool [AbstractObjectPool.java:38] Borrowing object from pool: PooledConnection[6324614990660108288] wrapping jdbc:mysql://10.1.71.56:3306/mw_as?autoReconnect=true, UserName=root@10.254.186.37, MySQL-AB JDBC Driver / 874329857
* 2014-04-28 03:40:40,361 DEBUG [main] t.j.TestJdbi [TestJooq.java:60] doing something with jooq
* 2014-04-28 03:40:40,361 DEBUG [main] c.i.d.c.u.j.PooledConnection [PooledConnection.java:33] [6324614990660108288] close
* 2014-04-28 03:40:40,384 DEBUG [main] c.i.d.c.o.AbstractObjectPool [AbstractObjectPool.java:66] Returning object to pool: PooledConnection[6324614990660108288] wrapping jdbc:mysql://10.1.71.56:3306/mw_as?autoReconnect=true, UserName=root@10.254.186.37, MySQL-AB JDBC Driver / 874329857
* 2014-04-28 03:40:40,385 DEBUG [main] t.j.TestJdbi [TestJooq.java:62] done
* </pre>
*
* @throws Exception
*/
@Test
public void testJooqContainerAutoClose() throws Exception {
try (JooqContainer jc = TagJdbi.jooq()) {
log.debug("doing something with jooq");
}
log.debug("done");
}
/**
* Leak:
*
* <pre>
* 2014-04-28 03:42:35,519 DEBUG [main] c.i.d.c.o.AbstractObjectPool [AbstractObjectPool.java:35] Creating new object for pool, currently borrowed 0
* 2014-04-28 03:42:35,519 DEBUG [main] c.i.d.c.u.j.ConnectionPool [ConnectionPool.java:34] creating new object for pool, now created 1 trashed 0 total 1
* 2014-04-28 03:42:40,257 DEBUG [main] c.i.d.c.u.j.PooledConnection [PooledConnection.java:28] [77483934750853120] constructor wrapping jdbc:mysql://10.1.71.56:3306/mw_as?autoReconnect=true, UserName=root@10.254.186.37, MySQL-AB JDBC Driver
* 2014-04-28 03:42:40,281 DEBUG [main] c.i.d.c.o.AbstractObjectPool [AbstractObjectPool.java:38] Borrowing object from pool: PooledConnection[77483934750853120] wrapping jdbc:mysql://10.1.71.56:3306/mw_as?autoReconnect=true, UserName=root@10.254.186.37, MySQL-AB JDBC Driver / 594066573
* 2014-04-28 03:42:40,471 DEBUG [main] t.j.TestJdbi [TestJooq.java:71] doing something with jooq
* 2014-04-28 03:42:40,471 DEBUG [main] t.j.TestJdbi [TestJooq.java:74] done
* </pre>
*
* @throws Exception
*/
@Test
public void testDslContextAutoClose() throws Exception {
DSLContext dsl = TagJdbi.jooq().getDslContext();
try {
log.debug("doing something with jooq");
} finally {
log.debug("done"); // there's not even a close method in the dslcontext object
}
}
}