Search in sources :

Example 96 with TTransport

use of org.apache.thrift.transport.TTransport in project tech by ffyyhh995511.

the class ThriftDemo method nioClient.

/**
 * 编写客户端,调用(阻塞式IO + 多线程处理)服务
 */
public void nioClient() {
    try {
        // 设置传输通道,对于非阻塞服务,需要使用TFramedTransport,它将数据分块发送
        TTransport transport = new TFramedTransport(new TSocket("localhost", 7911));
        transport.open();
        // 使用高密度二进制协议
        TProtocol protocol = new TCompactProtocol(transport);
        // 创建Client
        Hello.Client client = new Hello.Client(protocol);
        System.out.println("starting...");
        long start = System.currentTimeMillis();
        for (int i = 0; i < 10000; i++) {
            client.helloBoolean(false);
            client.helloInt(111);
            // client.helloNull();
            client.helloString("360buy");
            client.helloVoid();
        }
        System.out.println("耗时:" + (System.currentTimeMillis() - start));
        // 关闭资源
        transport.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
Also used : Hello(org.tech.model.Hello) TProtocol(org.apache.thrift.protocol.TProtocol) TFramedTransport(org.apache.thrift.transport.TFramedTransport) TTransport(org.apache.thrift.transport.TTransport) TCompactProtocol(org.apache.thrift.protocol.TCompactProtocol) TSocket(org.apache.thrift.transport.TSocket)

Example 97 with TTransport

use of org.apache.thrift.transport.TTransport in project tech by ffyyhh995511.

the class Test1Client method main.

public static void main(String[] args) throws Exception {
    // 设置传输通道 - 普通IO流通道
    TTransport transport = new TSocket("localhost", 7911);
    transport.open();
    // 使用高密度二进制协议
    TProtocol protocol = new TCompactProtocol(transport);
    // 创建Client
    Hello.Client client = new Hello.Client(protocol);
    long start = System.currentTimeMillis();
    for (int i = 0; i < 10000; i++) {
        client.helloBoolean(false);
        client.helloInt(111);
        // client.helloNull();
        client.helloString("dongjian");
        client.helloVoid();
    }
    System.out.println("耗时:" + (System.currentTimeMillis() - start));
    // 关闭资源
    transport.close();
}
Also used : Hello(org.tech.model.Hello) TProtocol(org.apache.thrift.protocol.TProtocol) TTransport(org.apache.thrift.transport.TTransport) TCompactProtocol(org.apache.thrift.protocol.TCompactProtocol) TSocket(org.apache.thrift.transport.TSocket)

Example 98 with TTransport

use of org.apache.thrift.transport.TTransport in project tech by ffyyhh995511.

the class ThriftService2 method getDistributedIncrease.

/**
 * 分布式递增
 * @return
 */
public long getDistributedIncrease() {
    int timeout = 100 * 1000;
    TTransport transport = null;
    Long increase = 0L;
    try {
        // 设置传输通道,对于非阻塞服务,需要使用TFramedTransport,它将数据分块发送
        transport = new TFramedTransport(new TSocket("192.168.11.173", 7911, timeout));
        transport.open();
        // 使用高密度二进制协议
        TProtocol protocol = new TCompactProtocol(transport);
        // 创建Client
        ServerTime.Client client = new ServerTime.Client(protocol);
        increase = client.getIncrease();
    } catch (Exception e) {
        // logger.error(e.getStackTrace());
        e.printStackTrace();
    } finally {
        // 关闭资源
        if (transport != null) {
            transport.close();
        }
    }
    return increase;
}
Also used : TProtocol(org.apache.thrift.protocol.TProtocol) TFramedTransport(org.apache.thrift.transport.TFramedTransport) TTransport(org.apache.thrift.transport.TTransport) TCompactProtocol(org.apache.thrift.protocol.TCompactProtocol) ServerTime(org.tech.commons.model.ServerTime) TSocket(org.apache.thrift.transport.TSocket)

Example 99 with TTransport

use of org.apache.thrift.transport.TTransport in project janusgraph by JanusGraph.

the class CTConnectionFactory method destroyObject.

@Override
public void destroyObject(String key, CTConnection c) throws Exception {
    TTransport t = c.getTransport();
    if (t.isOpen()) {
        t.close();
        log.trace("Closed transport {}", t);
    } else {
        log.trace("Not closing transport {} (already closed)", t);
    }
}
Also used : TTransport(org.apache.thrift.transport.TTransport)

Aggregations

TTransport (org.apache.thrift.transport.TTransport)99 TSocket (org.apache.thrift.transport.TSocket)43 TProtocol (org.apache.thrift.protocol.TProtocol)42 TBinaryProtocol (org.apache.thrift.protocol.TBinaryProtocol)36 TFramedTransport (org.apache.thrift.transport.TFramedTransport)28 TTransportException (org.apache.thrift.transport.TTransportException)20 Test (org.junit.Test)20 TException (org.apache.thrift.TException)18 IOException (java.io.IOException)12 TCompactProtocol (org.apache.thrift.protocol.TCompactProtocol)10 ArrayList (java.util.ArrayList)9 TIOStreamTransport (org.apache.thrift.transport.TIOStreamTransport)8 HashMap (java.util.HashMap)6 Socket (java.net.Socket)5 TCLIService (org.apache.hive.service.rpc.thrift.TCLIService)5 THttpClient (org.apache.thrift.transport.THttpClient)4 TSaslClientTransport (org.apache.thrift.transport.TSaslClientTransport)4 ChannelBuffer (com.alibaba.dubbo.remoting.buffer.ChannelBuffer)3 Request (com.alibaba.dubbo.remoting.exchange.Request)3 Demo (com.alibaba.dubbo.rpc.gen.thrift.Demo)3