Search in sources :

Example 1 with Server

use of org.apache.avro.ipc.Server in project camel by apache.

the class AvroListener method initAndStartServer.

/**
     * Initializes and starts http or netty server on basis of transport protocol from configuration.
     *
     *
     * @param configuration
     * @return Initialized and started server
     * @throws java.io.IOException
     */
private Server initAndStartServer(AvroConfiguration configuration) throws Exception {
    SpecificResponder responder;
    Server server;
    if (configuration.isReflectionProtocol()) {
        responder = new AvroReflectResponder(configuration.getProtocol(), this);
    } else {
        responder = new AvroSpecificResponder(configuration.getProtocol(), this);
    }
    if (AVRO_HTTP_TRANSPORT.equalsIgnoreCase(configuration.getTransport().name())) {
        server = new HttpServer(responder, configuration.getPort());
    } else if (AVRO_NETTY_TRANSPORT.equalsIgnoreCase(configuration.getTransport().name())) {
        server = new NettyServer(responder, new InetSocketAddress(configuration.getHost(), configuration.getPort()));
    } else {
        throw new IllegalArgumentException("Unknown transport " + configuration.getTransport());
    }
    server.start();
    return server;
}
Also used : SpecificResponder(org.apache.avro.ipc.specific.SpecificResponder) HttpServer(org.apache.avro.ipc.HttpServer) Server(org.apache.avro.ipc.Server) NettyServer(org.apache.avro.ipc.NettyServer) InetSocketAddress(java.net.InetSocketAddress) HttpServer(org.apache.avro.ipc.HttpServer) NettyServer(org.apache.avro.ipc.NettyServer)

Example 2 with Server

use of org.apache.avro.ipc.Server in project mist by snuspl.

the class MISTDefaultExecutionEnvironmentImplTest method testMISTDefaultExecutionEnvironment.

/**
 * This unit test creates mock jar file, mocking driver, and mocking task and tests
 * whether a test query can be serialized and sent via MISTDefaultExecutionEnvironmentImpl.
 */
@Test
public void testMISTDefaultExecutionEnvironment() throws IOException {
    // Step 1: Launch mock RPC Server
    final Server masterServer = new NettyServer(new SpecificResponder(ClientToMasterMessage.class, new MockMasterServer(host, taskPortNum)), new InetSocketAddress(masterPortNum));
    final Server taskServer = new NettyServer(new SpecificResponder(ClientToTaskMessage.class, new MockTaskServer(testQueryResult)), new InetSocketAddress(taskPortNum));
    // Step 2: Upload jar file
    final int suffixStartIndex = mockJarOutName.lastIndexOf(".");
    final String mockJarOutPrefix = mockJarOutName.substring(0, suffixStartIndex);
    final String mockJarOutSuffix = mockJarOutName.substring(suffixStartIndex);
    final List<String> jarPaths = new LinkedList<>();
    final Path tempJarFile = Files.createTempFile(mockJarOutPrefix, mockJarOutSuffix);
    jarPaths.add(tempJarFile.toString());
    final MISTExecutionEnvironment executionEnvironment = new MISTDefaultExecutionEnvironmentImpl(host, masterPortNum);
    final JarUploadResult jarUploadResult = executionEnvironment.submitJar(jarPaths);
    Assert.assertEquals("app_id", jarUploadResult.getIdentifier());
    // Step 3: Generate a new query
    final MISTQueryBuilder queryBuilder = new MISTQueryBuilder();
    queryBuilder.setApplicationId(jarUploadResult.getIdentifier()).socketTextStream(TestParameters.LOCAL_TEXT_SOCKET_SOURCE_CONF).flatMap(s -> Arrays.asList(s.split(" "))).map(s -> new Tuple2<>(s, 1)).reduceByKey(0, String.class, (Integer x, Integer y) -> x + y).textSocketOutput("localhost", 13667);
    final MISTQuery query = queryBuilder.build();
    System.err.println(mockJarOutPrefix);
    System.err.println(mockJarOutSuffix);
    // Step 4: Send a query and check whether the query comes to the task correctly
    final APIQueryControlResult result = executionEnvironment.submitQuery(query);
    Assert.assertEquals(result.getQueryId(), testQueryResult);
    masterServer.close();
    taskServer.close();
    Files.delete(tempJarFile);
}
Also used : SpecificResponder(org.apache.avro.ipc.specific.SpecificResponder) Path(java.nio.file.Path) Arrays(java.util.Arrays) Files(java.nio.file.Files) Tuple2(edu.snu.mist.common.types.Tuple2) Server(org.apache.avro.ipc.Server) Test(org.junit.Test) IOException(java.io.IOException) ClientToTaskMessage(edu.snu.mist.formats.avro.ClientToTaskMessage) JarUploadResult(edu.snu.mist.formats.avro.JarUploadResult) InetSocketAddress(java.net.InetSocketAddress) ClientToMasterMessage(edu.snu.mist.formats.avro.ClientToMasterMessage) SpecificResponder(org.apache.avro.ipc.specific.SpecificResponder) MockTaskServer(edu.snu.mist.client.utils.MockTaskServer) List(java.util.List) NettyServer(org.apache.avro.ipc.NettyServer) MockMasterServer(edu.snu.mist.client.utils.MockMasterServer) TestParameters(edu.snu.mist.client.utils.TestParameters) Assert(org.junit.Assert) LinkedList(java.util.LinkedList) Path(java.nio.file.Path) Server(org.apache.avro.ipc.Server) MockTaskServer(edu.snu.mist.client.utils.MockTaskServer) NettyServer(org.apache.avro.ipc.NettyServer) MockMasterServer(edu.snu.mist.client.utils.MockMasterServer) InetSocketAddress(java.net.InetSocketAddress) MockMasterServer(edu.snu.mist.client.utils.MockMasterServer) MockTaskServer(edu.snu.mist.client.utils.MockTaskServer) JarUploadResult(edu.snu.mist.formats.avro.JarUploadResult) NettyServer(org.apache.avro.ipc.NettyServer) LinkedList(java.util.LinkedList) ClientToTaskMessage(edu.snu.mist.formats.avro.ClientToTaskMessage) ClientToMasterMessage(edu.snu.mist.formats.avro.ClientToMasterMessage) Test(org.junit.Test)

Aggregations

InetSocketAddress (java.net.InetSocketAddress)2 NettyServer (org.apache.avro.ipc.NettyServer)2 Server (org.apache.avro.ipc.Server)2 SpecificResponder (org.apache.avro.ipc.specific.SpecificResponder)2 MockMasterServer (edu.snu.mist.client.utils.MockMasterServer)1 MockTaskServer (edu.snu.mist.client.utils.MockTaskServer)1 TestParameters (edu.snu.mist.client.utils.TestParameters)1 Tuple2 (edu.snu.mist.common.types.Tuple2)1 ClientToMasterMessage (edu.snu.mist.formats.avro.ClientToMasterMessage)1 ClientToTaskMessage (edu.snu.mist.formats.avro.ClientToTaskMessage)1 JarUploadResult (edu.snu.mist.formats.avro.JarUploadResult)1 IOException (java.io.IOException)1 Files (java.nio.file.Files)1 Path (java.nio.file.Path)1 Arrays (java.util.Arrays)1 LinkedList (java.util.LinkedList)1 List (java.util.List)1 HttpServer (org.apache.avro.ipc.HttpServer)1 Assert (org.junit.Assert)1 Test (org.junit.Test)1