Search in sources :

Example 1 with ConnectorRef

use of org.apache.camel.component.websocket.WebsocketComponent.ConnectorRef in project camel by apache.

the class WebsocketEndpointConfigurationTest method testSetServletThreadPool.

@Test
public void testSetServletThreadPool() throws Exception {
    port = AvailablePortFinder.getNextAvailable(16332);
    String uri = "websocket://localhost:" + port + "/bar?bufferSize=25000&maxIdleTime=3000";
    WebsocketEndpoint websocketEndpoint = (WebsocketEndpoint) context.getEndpoint(uri);
    WebsocketComponent component = websocketEndpoint.getComponent();
    QueuedThreadPool qtp = new QueuedThreadPool(20, 1);
    component.setThreadPool(qtp);
    Consumer consumer = websocketEndpoint.createConsumer(processor);
    component.connect((WebsocketProducerConsumer) consumer);
    assertNotNull(consumer);
    assertEquals(WebsocketConsumer.class, consumer.getClass());
    // just check the servlet initial parameters
    ConnectorRef conector = WebsocketComponent.getConnectors().values().iterator().next();
    ServletContextHandler context = (ServletContextHandler) conector.server.getHandler();
    String buffersize = context.getInitParameter("bufferSize");
    assertEquals("Got a wrong buffersize", "25000", buffersize);
    String maxIdleTime = context.getInitParameter("maxIdleTime");
    assertEquals("Got a wrong maxIdleTime", "3000", maxIdleTime);
    WebSocketServletFactory factory = (WebSocketServletFactory) context.getServletContext().getAttribute(WebSocketServletFactory.class.getName());
    int factoryBufferSize = factory.getPolicy().getInputBufferSize();
    assertEquals("Got a wrong buffersize", 25000, factoryBufferSize);
    long factoryMaxIdleTime = factory.getPolicy().getIdleTimeout();
    assertEquals("Got a wrong maxIdleTime", 3000, factoryMaxIdleTime);
}
Also used : WebSocketServletFactory(org.eclipse.jetty.websocket.servlet.WebSocketServletFactory) Consumer(org.apache.camel.Consumer) QueuedThreadPool(org.eclipse.jetty.util.thread.QueuedThreadPool) ConnectorRef(org.apache.camel.component.websocket.WebsocketComponent.ConnectorRef) ServletContextHandler(org.eclipse.jetty.servlet.ServletContextHandler) Test(org.junit.Test)

Example 2 with ConnectorRef

use of org.apache.camel.component.websocket.WebsocketComponent.ConnectorRef in project camel by apache.

the class WebsocketEndpointConfigurationTest method testSetServletInitalparameters.

@Test
public void testSetServletInitalparameters() throws Exception {
    port = AvailablePortFinder.getNextAvailable(16330);
    String uri = "websocket://localhost:" + port + "/bar?bufferSize=25000&maxIdleTime=3000&maxTextMessageSize=500&maxBinaryMessageSize=550";
    WebsocketEndpoint websocketEndpoint = (WebsocketEndpoint) context.getEndpoint(uri);
    WebsocketComponent component = websocketEndpoint.getComponent();
    component.setMinThreads(1);
    component.setMaxThreads(20);
    Consumer consumer = websocketEndpoint.createConsumer(processor);
    component.connect((WebsocketProducerConsumer) consumer);
    assertNotNull(consumer);
    assertEquals(WebsocketConsumer.class, consumer.getClass());
    // just check the servlet initial parameters
    ConnectorRef conector = WebsocketComponent.getConnectors().values().iterator().next();
    ServletContextHandler context = (ServletContextHandler) conector.server.getHandler();
    String buffersize = context.getInitParameter("bufferSize");
    assertEquals("Got a wrong buffersize", "25000", buffersize);
    String maxIdleTime = context.getInitParameter("maxIdleTime");
    assertEquals("Got a wrong maxIdleTime", "3000", maxIdleTime);
    String maxTextMessageSize = context.getInitParameter("maxTextMessageSize");
    assertEquals("Got a wrong maxTextMessageSize", "500", maxTextMessageSize);
    String maxBinaryMessageSize = context.getInitParameter("maxBinaryMessageSize");
    assertEquals("Got a wrong maxBinaryMessageSize", "550", maxBinaryMessageSize);
    WebSocketServletFactory factory = (WebSocketServletFactory) context.getServletContext().getAttribute(WebSocketServletFactory.class.getName());
    int factoryBufferSize = factory.getPolicy().getInputBufferSize();
    assertEquals("Got a wrong buffersize", 25000, factoryBufferSize);
    long factoryMaxIdleTime = factory.getPolicy().getIdleTimeout();
    assertEquals("Got a wrong maxIdleTime", 3000, factoryMaxIdleTime);
    int factoryMaxTextMessageSize = factory.getPolicy().getMaxTextMessageSize();
    assertEquals("Got a wrong maxTextMessageSize", 500, factoryMaxTextMessageSize);
    int factoryMaxBinaryMessageSize = factory.getPolicy().getMaxBinaryMessageSize();
    assertEquals("Got a wrong maxBinaryMessageSize", 550, factoryMaxBinaryMessageSize);
}
Also used : WebSocketServletFactory(org.eclipse.jetty.websocket.servlet.WebSocketServletFactory) Consumer(org.apache.camel.Consumer) ConnectorRef(org.apache.camel.component.websocket.WebsocketComponent.ConnectorRef) ServletContextHandler(org.eclipse.jetty.servlet.ServletContextHandler) Test(org.junit.Test)

Example 3 with ConnectorRef

use of org.apache.camel.component.websocket.WebsocketComponent.ConnectorRef in project camel by apache.

the class WebsocketEndpointConfigurationTest method testSetServletNoMinThreadsNoMaxThreadsNoThreadPool.

@Test
public void testSetServletNoMinThreadsNoMaxThreadsNoThreadPool() throws Exception {
    port = AvailablePortFinder.getNextAvailable(16331);
    String uri = "websocket://localhost:" + port + "/bar?bufferSize=25000&maxIdleTime=3000";
    WebsocketEndpoint websocketEndpoint = (WebsocketEndpoint) context.getEndpoint(uri);
    WebsocketComponent component = websocketEndpoint.getComponent();
    Consumer consumer = websocketEndpoint.createConsumer(processor);
    component.connect((WebsocketProducerConsumer) consumer);
    assertNotNull(consumer);
    assertEquals(WebsocketConsumer.class, consumer.getClass());
    // just check the servlet initial parameters
    ConnectorRef conector = WebsocketComponent.getConnectors().values().iterator().next();
    ServletContextHandler context = (ServletContextHandler) conector.server.getHandler();
    String buffersize = context.getInitParameter("bufferSize");
    assertEquals("Got a wrong buffersize", "25000", buffersize);
    String maxIdleTime = context.getInitParameter("maxIdleTime");
    assertEquals("Got a wrong maxIdleTime", "3000", maxIdleTime);
    WebSocketServletFactory factory = (WebSocketServletFactory) context.getServletContext().getAttribute(WebSocketServletFactory.class.getName());
    int factoryBufferSize = factory.getPolicy().getInputBufferSize();
    assertEquals("Got a wrong buffersize", 25000, factoryBufferSize);
    long factoryMaxIdleTime = factory.getPolicy().getIdleTimeout();
    assertEquals("Got a wrong maxIdleTime", 3000, factoryMaxIdleTime);
}
Also used : WebSocketServletFactory(org.eclipse.jetty.websocket.servlet.WebSocketServletFactory) Consumer(org.apache.camel.Consumer) ConnectorRef(org.apache.camel.component.websocket.WebsocketComponent.ConnectorRef) ServletContextHandler(org.eclipse.jetty.servlet.ServletContextHandler) Test(org.junit.Test)

Aggregations

Consumer (org.apache.camel.Consumer)3 ConnectorRef (org.apache.camel.component.websocket.WebsocketComponent.ConnectorRef)3 ServletContextHandler (org.eclipse.jetty.servlet.ServletContextHandler)3 WebSocketServletFactory (org.eclipse.jetty.websocket.servlet.WebSocketServletFactory)3 Test (org.junit.Test)3 QueuedThreadPool (org.eclipse.jetty.util.thread.QueuedThreadPool)1