package com.teiid.quickstart.mongodb; import java.io.File; import java.io.FileInputStream; import java.sql.Connection; import org.teiid.resource.adapter.mongodb.MongoDBManagedConnectionFactory; import org.teiid.runtime.EmbeddedConfiguration; import org.teiid.runtime.EmbeddedServer; import org.teiid.translator.mongodb.MongoDBExecutionFactory; import com.teiid.quickstart.util.JDBCUtil; public class TestMongoDataSource { static { System.setProperty("java.util.logging.config.file", "/home/kylin/tmp/logging.properties"); } private static final String SERVERLIST = "10.66.218.46:27017" ; private static final String DBNAME = "mydb" ; static EmbeddedServer server = null; private static Connection conn = null; public void init() throws Exception { server = new EmbeddedServer(); MongoDBExecutionFactory executionFactory = new MongoDBExecutionFactory(); executionFactory.start(); server.addTranslator("translator-mongodb", executionFactory); MongoDBManagedConnectionFactory managedconnectionFactory = new MongoDBManagedConnectionFactory(); managedconnectionFactory.setRemoteServerList(SERVERLIST); managedconnectionFactory.setDatabase(DBNAME); server.addConnectionFactory("java:/mongoDS", managedconnectionFactory.createConnectionFactory()); server.start(new EmbeddedConfiguration()); server.deployVDB(new FileInputStream(new File("src/vdb/mongodb-vdb.xml"))); conn = server.getDriver().connect("jdbc:teiid:nothwind", null); JDBCUtil.executeUpdate(conn, "DELETE FROM Customer"); JDBCUtil.executeUpdate(conn, "INSERT INTO Customer(customer_id, FirstName, LastName) VALUES (1, 'Kylin', 'Soong')"); JDBCUtil.executeUpdate(conn, "INSERT INTO Customer(customer_id, FirstName, LastName) VALUES (2, 'Kylin', 'Soong')"); JDBCUtil.executeUpdate(conn, "INSERT INTO Customer(customer_id, FirstName, LastName) VALUES (3, 'Kylin', 'Soong')"); JDBCUtil.executeQuery(conn, "SELECT * FROM Customer"); JDBCUtil.close(conn); } public static void main(String[] args) throws Exception { TestMongoDataSource test = new TestMongoDataSource(); test.init(); } }