blob: 6e10ae464c6c99a70d20726a3ea73d9f4ba068c8 [file] [log] [blame]
package org.apache.dubbo.sample.tri.manual;
import org.apache.dubbo.common.constants.CommonConstants;
import org.apache.dubbo.config.ApplicationConfig;
import org.apache.dubbo.config.ReferenceConfig;
import org.apache.dubbo.config.RegistryConfig;
import org.apache.dubbo.config.bootstrap.DubboBootstrap;
import org.apache.dubbo.sample.tri.Greeter;
import org.apache.dubbo.sample.tri.util.TriSampleClient;
import org.apache.dubbo.sample.tri.util.TriSampleConstants;
import java.io.IOException;
/**
* Tri supports protobuf serialization without IDL
*/
public class TriManualClient extends TriSampleClient {
public TriManualClient() {
this(false, null);
}
public TriManualClient(boolean direct, String directUrl) {
DubboBootstrap bootstrap = DubboBootstrap.getInstance();
ReferenceConfig<Greeter> ref = new ReferenceConfig<>();
ref.setInterface(Greeter.class);
ref.setProtocol(CommonConstants.TRIPLE);
ref.setTimeout(3000);
if (!direct) {
bootstrap.registry(new RegistryConfig(TriSampleConstants.ZK_ADDRESS));
} else {
ref.setUrl(directUrl);
}
bootstrap.application(new ApplicationConfig("tri-manual-consumer"))
.reference(ref)
.start();
setGreeter(ref.get());
setClientName("tri-manual");
}
public static void main(String[] args) throws IOException {
final TriManualClient consumer = new TriManualClient();
consumer.unary();
consumer.stream();
consumer.serverStream();
System.in.read();
}
}