package com.teiid.quickstart.transport; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.net.InetSocketAddress; import java.util.Properties; import javax.resource.ResourceException; import org.teiid.deployers.VirtualDatabaseException; import org.teiid.dqp.internal.datamgr.ConnectorManagerRepository.ConnectorManagerException; import org.teiid.net.CommunicationException; import org.teiid.net.ConnectionException; import org.teiid.net.HostInfo; import org.teiid.net.TeiidURL; import org.teiid.net.socket.SocketServerConnection; import org.teiid.net.socket.SocketServerConnectionFactory; import org.teiid.net.socket.UrlServerDiscovery; import org.teiid.resource.adapter.file.FileManagedConnectionFactory; import org.teiid.runtime.EmbeddedConfiguration; import org.teiid.runtime.EmbeddedServer; import org.teiid.translator.TranslatorException; import org.teiid.translator.file.FileExecutionFactory; import org.teiid.transport.SSLConfiguration; import org.teiid.transport.SocketConfiguration; import org.teiid.transport.SocketListener; import org.teiid.transport.WireProtocol; public class SocketListenerTest { private InetSocketAddress addr = new InetSocketAddress("localhost", 31000); SocketListener listener; // SSLConfiguration config = new SSLConfiguration(); private SocketServerConnectionFactory sscf; public void test() throws CommunicationException, ConnectionException, VirtualDatabaseException, TranslatorException, ConnectorManagerException, FileNotFoundException, ResourceException, IOException { // startServer(); Properties p = new Properties(); TeiidURL teiidUrl = new TeiidURL(addr.getHostName(), addr.getPort(), false); teiidUrl.getHostInfo().add(new HostInfo(addr.getHostName(), addr.getPort())); String url = teiidUrl.getAppServerURL(); p.setProperty(TeiidURL.CONNECTION.SERVER_URL, url); p.setProperty(TeiidURL.CONNECTION.DISCOVERY_STRATEGY, UrlServerDiscovery.class.getName()); p.setProperty(TeiidURL.CONNECTION.AUTO_FAILOVER, Boolean.TRUE.toString()); if (sscf == null) { sscf = new SocketServerConnectionFactory(); sscf.initialize(new Properties()); } SocketServerConnection conn = sscf.getConnection(p); System.out.println(conn.isOpen(1000)); } private void startServer() throws TranslatorException, ResourceException, VirtualDatabaseException, ConnectorManagerException, FileNotFoundException, IOException { EmbeddedServer server = new EmbeddedServer(); FileExecutionFactory executionFactory = new FileExecutionFactory(); executionFactory.start(); server.addTranslator("file", executionFactory); FileManagedConnectionFactory managedconnectionFactory = new FileManagedConnectionFactory(); managedconnectionFactory.setParentDirectory("src/file"); server.addConnectionFactory("java:/marketdata-file", managedconnectionFactory.createConnectionFactory()); SocketConfiguration s = new SocketConfiguration(); InetSocketAddress addr = new InetSocketAddress("localhost", 31000); s.setBindAddress(addr.getHostName()); s.setPortNumber(addr.getPort()); s.setProtocol(WireProtocol.teiid); EmbeddedConfiguration config = new EmbeddedConfiguration(); config.addTransport(s); server.start(config); server.deployVDB(new FileInputStream(new File("src/vdb/files-vdb.xml"))); } public static void main(String[] args) throws CommunicationException, ConnectionException, VirtualDatabaseException, TranslatorException, ConnectorManagerException, FileNotFoundException, ResourceException, IOException { new SocketListenerTest().test(); } }