当前位置: 首页>>代码示例>>Java>>正文


Java ServerEndpoint类代码示例

本文整理汇总了Java中javax.websocket.server.ServerEndpoint的典型用法代码示例。如果您正苦于以下问题:Java ServerEndpoint类的具体用法?Java ServerEndpoint怎么用?Java ServerEndpoint使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


ServerEndpoint类属于javax.websocket.server包,在下文中一共展示了ServerEndpoint类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: registerEndpoints

import javax.websocket.server.ServerEndpoint; //导入依赖的package包/类
/**
 * Actually register the endpoints. Called by {@link #afterSingletonsInstantiated()}.
 */
protected void registerEndpoints() {
	Set<Class<?>> endpointClasses = new LinkedHashSet<Class<?>>();
	if (this.annotatedEndpointClasses != null) {
		endpointClasses.addAll(this.annotatedEndpointClasses);
	}

	ApplicationContext context = getApplicationContext();
	if (context != null) {
		String[] endpointBeanNames = context.getBeanNamesForAnnotation(ServerEndpoint.class);
		for (String beanName : endpointBeanNames) {
			endpointClasses.add(context.getType(beanName));
		}
	}

	for (Class<?> endpointClass : endpointClasses) {
		registerEndpoint(endpointClass);
	}

	if (context != null) {
		Map<String, ServerEndpointConfig> endpointConfigMap = context.getBeansOfType(ServerEndpointConfig.class);
		for (ServerEndpointConfig endpointConfig : endpointConfigMap.values()) {
			registerEndpoint(endpointConfig);
		}
	}
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:29,代码来源:ServerEndpointExporter.java

示例2: createEndpointConfig

import javax.websocket.server.ServerEndpoint; //导入依赖的package包/类
private ServerEndpointConfig createEndpointConfig(Class<?> endpointClass) throws DeploymentException {
    ServerEndpoint annotation = endpointClass.getAnnotation(ServerEndpoint.class);
    if (annotation == null) {
        throw new InvalidWebSocketException("Unsupported WebSocket object, missing @" + ServerEndpoint.class + " annotation");
    }

    return ServerEndpointConfig.Builder.create(endpointClass, annotation.value())
            .subprotocols(Arrays.asList(annotation.subprotocols()))
            .decoders(Arrays.asList(annotation.decoders()))
            .encoders(Arrays.asList(annotation.encoders()))
            .configurator(configurator)
            .build();
}
 
开发者ID:asafalima,项目名称:guice-websocket,代码行数:14,代码来源:JettyServer.java

示例3: JbootWebsocketManager

import javax.websocket.server.ServerEndpoint; //导入依赖的package包/类
private JbootWebsocketManager() {
    List<Class> endPointClasses = ClassScanner.scanClassByAnnotation(ServerEndpoint.class, false);
    if (endPointClasses != null && endPointClasses.size() != 0) {
        for (Class entry : endPointClasses) {
            ServerEndpoint serverEndpoint = (ServerEndpoint) entry.getAnnotation(ServerEndpoint.class);
            String value = serverEndpoint.value();
            if (!StringUtils.isBlank(value)) {
                websocketEndPoints.add(entry);
                websocketEndPointValues.add(value);
            }
        }
    }
}
 
开发者ID:yangfuhai,项目名称:jboot,代码行数:14,代码来源:JbootWebsocketManager.java

示例4: init

import javax.websocket.server.ServerEndpoint; //导入依赖的package包/类
public static void init(final ServletContextHandler context, final MinijaxApplication application)
        throws ServletException, DeploymentException {

    final ServerContainer container = WebSocketServerContainerInitializer.configureContext(context);
    final Configurator configurator = new MinijaxWebSocketConfigurator(application);

    for (final Class<?> c : application.getWebSockets()) {
        final ServerEndpointConfig config = ServerEndpointConfig.Builder
                .create(c, c.getAnnotation(ServerEndpoint.class).value())
                .configurator(configurator)
                .build();
        container.addEndpoint(config);
    }
}
 
开发者ID:minijax,项目名称:minijax,代码行数:15,代码来源:MinijaxWebSocketUtils.java

示例5: determineAnnotatedEndpointPath

import javax.websocket.server.ServerEndpoint; //导入依赖的package包/类
private String determineAnnotatedEndpointPath(Class<?> endpointClass) {
    if (endpointClass.isAnnotationPresent(ServerEndpoint.class)) {
        return endpointClass.getAnnotation(ServerEndpoint.class).value();
    } else {
        throw new IllegalArgumentException(String.format("@ServerEndpoint annotation not found on Websocket-class: '%s'. Either annotate the class or register it as a programmatic endpoint using ServerEndpointConfig.class", endpointClass));
    }
}
 
开发者ID:TomCools,项目名称:dropwizard-websocket-jee7-bundle,代码行数:8,代码来源:EndpointRegistration.java

示例6: validateEndpointUri

import javax.websocket.server.ServerEndpoint; //导入依赖的package包/类
/**
 * Validate the endpoint against the {@link ServerEndpoint} since without {@link ServerEndpoint} definition
 * there can't be a WebSocket endpoint.
 * @param websocketEndpoint endpoint which should be validated.
 */
public boolean validateEndpointUri(Object websocketEndpoint) {
    if (websocketEndpoint != null) {
        return websocketEndpoint.getClass().isAnnotationPresent(ServerEndpoint.class);
    }
    return false;
}
 
开发者ID:wso2,项目名称:msf4j,代码行数:12,代码来源:EndpointDispatcher.java

示例7: create

import javax.websocket.server.ServerEndpoint; //导入依赖的package包/类
@Override
public EventDriver create(Object websocket, WebSocketPolicy policy) throws Throwable {
    if (!(websocket instanceof EndpointInstance)) {
        throw new IllegalStateException(String.format("Websocket %s must be an %s", websocket.getClass().getName(), EndpointInstance.class.getName()));
    }

    EndpointInstance ei = (EndpointInstance) websocket;
    AnnotatedServerEndpointMetadata metadata = (AnnotatedServerEndpointMetadata) ei.getMetadata();
    JsrEvents<ServerEndpoint, ServerEndpointConfig> events = new JsrEvents<>(metadata);

    // Handle @OnMessage maxMessageSizes
    int maxBinaryMessage = getMaxMessageSize(policy.getMaxBinaryMessageSize(), metadata.onBinary, metadata.onBinaryStream);
    int maxTextMessage = getMaxMessageSize(policy.getMaxTextMessageSize(), metadata.onText, metadata.onTextStream);

    policy.setMaxBinaryMessageSize(maxBinaryMessage);
    policy.setMaxTextMessageSize(maxTextMessage);

    //////// instrumentation is here
    JsrAnnotatedEventDriver driver = new InstJsrAnnotatedEventDriver(policy, ei, events, metrics);
    ////////
    
    // Handle @PathParam values
    ServerEndpointConfig config = (ServerEndpointConfig) ei.getConfig();
    if (config instanceof PathParamServerEndpointConfig) {
        PathParamServerEndpointConfig ppconfig = (PathParamServerEndpointConfig) config;
        driver.setPathParameters(ppconfig.getPathParamMap());
    }

    return driver;
}
 
开发者ID:LivePersonInc,项目名称:dropwizard-websockets,代码行数:31,代码来源:InstJsrServerEndpointImpl.java

示例8: addEndpoint

import javax.websocket.server.ServerEndpoint; //导入依赖的package包/类
public void addEndpoint(Class<?> clazz) {
    ServerEndpoint anno = clazz.getAnnotation(ServerEndpoint.class);
    if(anno == null){
        throw new RuntimeException(clazz.getCanonicalName()+" does not have a "+ServerEndpoint.class.getCanonicalName()+" annotation");
    }
    ServerEndpointConfig.Builder bldr =  ServerEndpointConfig.Builder.create(clazz, anno.value());
    if(defaultConfigurator != null){
        bldr = bldr.configurator(defaultConfigurator);
    }
    endpointConfigs.add(bldr.build());
    if (starting)
        throw new RuntimeException("can't add endpoint after starting lifecycle");
}
 
开发者ID:LivePersonInc,项目名称:dropwizard-websockets,代码行数:14,代码来源:WebsocketBundle.java

示例9: isEndpoint

import javax.websocket.server.ServerEndpoint; //导入依赖的package包/类
protected boolean isEndpoint(final Class<?> cls) {
  return cls.isAnnotationPresent(ServerEndpoint.class);
}
 
开发者ID:jkiddo,项目名称:ccow,代码行数:4,代码来源:WebSocketsModule.java

示例10: validateURI

import javax.websocket.server.ServerEndpoint; //导入依赖的package包/类
private boolean validateURI(Object webSocketEndpoint) throws WebSocketEndpointAnnotationException {
    if (webSocketEndpoint.getClass().isAnnotationPresent(ServerEndpoint.class)) {
        return true;
    }
    throw new WebSocketEndpointAnnotationException("Server Endpoint is not defined.");
}
 
开发者ID:wso2,项目名称:msf4j,代码行数:7,代码来源:EndpointValidator.java

示例11: InstJsrAnnotatedEventDriver

import javax.websocket.server.ServerEndpoint; //导入依赖的package包/类
public InstJsrAnnotatedEventDriver(WebSocketPolicy policy, EndpointInstance ei, JsrEvents<ServerEndpoint, ServerEndpointConfig> events, MetricRegistry metrics) {
    super(policy, ei, events);
    this.edm = new EventDriverMetrics(metadata.getEndpointClass(), metrics);
}
 
开发者ID:LivePersonInc,项目名称:dropwizard-websockets,代码行数:5,代码来源:InstJsrAnnotatedEventDriver.java

示例12: findWebSocketServers

import javax.websocket.server.ServerEndpoint; //导入依赖的package包/类
public void findWebSocketServers(@Observes @WithAnnotations(ServerEndpoint.class)ProcessAnnotatedType<?> pat) {
    endpointClasses.add(pat.getAnnotatedType().getJavaClass());
}
 
开发者ID:hammock-project,项目名称:hammock,代码行数:4,代码来源:UndertowWebSocketExtension.java

示例13: requireServerEndPointAnnotation

import javax.websocket.server.ServerEndpoint; //导入依赖的package包/类
private void requireServerEndPointAnnotation(Class c) {
    Annotation annotation = c.getAnnotation(ServerEndpoint.class);
    if (annotation == null) {
        throw new IllegalArgumentException(String.format("Endpoint class must be annotated with javax.websocket.server.ServerEndpoint"));
    }
}
 
开发者ID:xoom,项目名称:feathercon,代码行数:7,代码来源:WebSocketEndpointConfiguration.java

示例14: getUri

import javax.websocket.server.ServerEndpoint; //导入依赖的package包/类
/**
 * Extract the URI from the endpoint.
 * <b>Note that it is better use validateEndpointUri method to validate the endpoint uri
 * before getting it out if needed. Otherwise it will cause issues. Use this method only and only if
 * it is sure that endpoint contains {@link ServerEndpoint} defined.</b>
 *
 * @param webSocketEndpoint WebSocket endpoint which the URI should be extracted.
 * @return the URI of the Endpoint as a String.
 */
public String getUri(Object webSocketEndpoint) {
    return webSocketEndpoint.getClass().getAnnotation(ServerEndpoint.class).value();
}
 
开发者ID:wso2,项目名称:msf4j,代码行数:13,代码来源:EndpointDispatcher.java


注:本文中的javax.websocket.server.ServerEndpoint类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。