All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ameba.container.grizzly.server.http.websocket.TyrusWebSocketEndpointProvider Maven / Gradle / Ivy

There is a newer version: 0.1.12
Show newest version
package ameba.container.grizzly.server.http.websocket;

import ameba.websocket.EndpointMeta;
import ameba.websocket.WebSocket;
import ameba.websocket.WebSocketEndpointProvider;
import org.glassfish.hk2.api.ServiceLocator;
import org.glassfish.tyrus.core.ComponentProviderService;

import javax.inject.Inject;
import javax.inject.Singleton;

/**
 * @author icode
 */
@Singleton
public class TyrusWebSocketEndpointProvider implements WebSocketEndpointProvider {
    private ComponentProviderService componentProviderService = ComponentProviderService.create();
    @Inject
    private WebSocketServerContainer container;
    private ServiceLocator locator;

    @Inject
    public TyrusWebSocketEndpointProvider(ServiceLocator locator) {
        Hk2ComponentProvider.locator = locator;
        this.locator = locator;
    }

    @Override
    public EndpointMeta parseEndpointMeta(Class endpointClass, WebSocket webSocketConf) {
        return new AnnotatedEndpointMeta(
                endpointClass,
                webSocketConf,
                container.getIncomingBufferSize(),
                locator,
                componentProviderService
        );
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy