Search in sources :

Example 1 with ServerConnectorFuture

use of org.wso2.transport.http.netty.contract.ServerConnectorFuture in project ballerina by ballerina-lang.

the class Register method startServerConnector.

private void startServerConnector(Struct serviceEndpoint, HTTPServicesRegistry httpServicesRegistry, WebSocketServicesRegistry webSocketServicesRegistry) {
    ServerConnector serverConnector = getServerConnector(serviceEndpoint);
    ServerConnectorFuture serverConnectorFuture = serverConnector.start();
    HashSet<FilterHolder> filterHolder = getFilters(serviceEndpoint);
    serverConnectorFuture.setHttpConnectorListener(new BallerinaHTTPConnectorListener(httpServicesRegistry, filterHolder));
    serverConnectorFuture.setWSConnectorListener(new WebSocketServerConnectorListener(webSocketServicesRegistry));
    serverConnectorFuture.setPortBindingEventListener(new HttpConnectorPortBindingListener());
    try {
        serverConnectorFuture.sync();
    } catch (Throwable ex) {
        throw new BallerinaException("failed to start server connector '" + serverConnector.getConnectorID() + "': " + ex.getMessage(), ex);
    }
    serviceEndpoint.addNativeData(HttpConstants.CONNECTOR_STARTED, true);
}
Also used : ServerConnector(org.wso2.transport.http.netty.contract.ServerConnector) WebSocketServerConnectorListener(org.ballerinalang.net.http.WebSocketServerConnectorListener) HttpConnectorPortBindingListener(org.ballerinalang.net.http.HttpConnectorPortBindingListener) ServerConnectorFuture(org.wso2.transport.http.netty.contract.ServerConnectorFuture) BallerinaHTTPConnectorListener(org.ballerinalang.net.http.BallerinaHTTPConnectorListener) BallerinaException(org.ballerinalang.util.exceptions.BallerinaException)

Example 2 with ServerConnectorFuture

use of org.wso2.transport.http.netty.contract.ServerConnectorFuture in project ballerina by ballerina-lang.

the class StartWebSubSubscriberServiceEndpoint method execute.

@Override
public void execute(Context context) {
    Struct subscriberServiceEndpoint = BLangConnectorSPIUtil.getConnectorEndpointStruct(context);
    Struct serviceEndpoint = ConnectorSPIModelHelper.createStruct((BStruct) ((BStruct) (subscriberServiceEndpoint.getVMValue())).getRefField(1));
    ServerConnector serverConnector = getServerConnector(serviceEndpoint);
    if (isHTTPTraceLoggerEnabled()) {
        try {
            ((BLogManager) BLogManager.getLogManager()).setHttpTraceLogHandler();
        } catch (IOException e) {
            throw new BallerinaConnectorException("Invalid HTTP trace log parameters found.", e);
        } catch (TraceLogConfigurationException e) {
            throw new BallerinaConnectorException("Unsupported HTTP trace log configuration. " + e.getMessage(), e);
        }
    }
    ServerConnectorFuture serverConnectorFuture = serverConnector.start();
    WebSubServicesRegistry webSubServicesRegistry = (WebSubServicesRegistry) serviceEndpoint.getNativeData(WebSubSubscriberConstants.WEBSUB_SERVICE_REGISTRY);
    HashSet<FilterHolder> filterHolder = getFilters(serviceEndpoint);
    serverConnectorFuture.setHttpConnectorListener(new BallerinaWebSubConnectionListener(webSubServicesRegistry, filterHolder));
    serverConnectorFuture.setPortBindingEventListener(new HttpConnectorPortBindingListener());
    context.setReturnValues();
}
Also used : BLogManager(org.ballerinalang.logging.BLogManager) BStruct(org.ballerinalang.model.values.BStruct) BallerinaConnectorException(org.ballerinalang.connector.api.BallerinaConnectorException) FilterHolder(org.ballerinalang.net.http.serviceendpoint.FilterHolder) HttpConnectorPortBindingListener(org.ballerinalang.net.http.HttpConnectorPortBindingListener) ServerConnectorFuture(org.wso2.transport.http.netty.contract.ServerConnectorFuture) BallerinaWebSubConnectionListener(org.ballerinalang.net.websub.BallerinaWebSubConnectionListener) IOException(java.io.IOException) BStruct(org.ballerinalang.model.values.BStruct) Struct(org.ballerinalang.connector.api.Struct) ServerConnector(org.wso2.transport.http.netty.contract.ServerConnector) TraceLogConfigurationException(org.ballerinalang.logging.exceptions.TraceLogConfigurationException) WebSubServicesRegistry(org.ballerinalang.net.websub.WebSubServicesRegistry)

Aggregations

HttpConnectorPortBindingListener (org.ballerinalang.net.http.HttpConnectorPortBindingListener)2 ServerConnector (org.wso2.transport.http.netty.contract.ServerConnector)2 ServerConnectorFuture (org.wso2.transport.http.netty.contract.ServerConnectorFuture)2 IOException (java.io.IOException)1 BallerinaConnectorException (org.ballerinalang.connector.api.BallerinaConnectorException)1 Struct (org.ballerinalang.connector.api.Struct)1 BLogManager (org.ballerinalang.logging.BLogManager)1 TraceLogConfigurationException (org.ballerinalang.logging.exceptions.TraceLogConfigurationException)1 BStruct (org.ballerinalang.model.values.BStruct)1 BallerinaHTTPConnectorListener (org.ballerinalang.net.http.BallerinaHTTPConnectorListener)1 WebSocketServerConnectorListener (org.ballerinalang.net.http.WebSocketServerConnectorListener)1 FilterHolder (org.ballerinalang.net.http.serviceendpoint.FilterHolder)1 BallerinaWebSubConnectionListener (org.ballerinalang.net.websub.BallerinaWebSubConnectionListener)1 WebSubServicesRegistry (org.ballerinalang.net.websub.WebSubServicesRegistry)1 BallerinaException (org.ballerinalang.util.exceptions.BallerinaException)1