- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
本文整理了Java中io.reactivex.netty.protocol.http.websocket.WebSocketServerBuilder
类的一些代码示例,展示了WebSocketServerBuilder
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。WebSocketServerBuilder
类的具体详情如下:
包路径:io.reactivex.netty.protocol.http.websocket.WebSocketServerBuilder
类名称:WebSocketServerBuilder
暂无
代码示例来源:origin: com.netflix.rxnetty/rx-netty
@Override
protected RxServer<I, O> createServer() {
PipelineConfigurator<I, O> webSocketPipeline = new WebSocketServerPipelineConfigurator<I, O>(webSocketURI,
subprotocols, allowExtensions, maxFramePayloadLength, messageAggregator);
if (getPipelineConfigurator() != null) {
appendPipelineConfigurator(webSocketPipeline);
} else {
pipelineConfigurator(webSocketPipeline);
}
return new WebSocketServer<I, O>(serverBootstrap, port, pipelineConfigurator, connectionHandler, eventExecutorGroup);
}
代码示例来源:origin: com.netflix.rxnetty/rx-netty
public static <I extends WebSocketFrame, O extends WebSocketFrame> WebSocketServerBuilder<I, O>
newWebSocketServerBuilder(int port, ConnectionHandler<I, O> connectionHandler) {
return new WebSocketServerBuilder<I, O>(port, connectionHandler).enableWireLogging(LogLevel.DEBUG);
}
代码示例来源:origin: com.netflix.karyon/karyon2-governator
@Inject
@SuppressWarnings("unchecked")
public void setInjector(Injector injector) {
KaryonWebSocketsModule.WebSocketsServerConfig config = (KaryonWebSocketsModule.WebSocketsServerConfig) injector.getInstance(serverConfigKey);
ConnectionHandler<I, O> connectionHandler = injector.getInstance(connectionHandlerKey);
WebSocketServerBuilder<I, O> builder = RxNetty.newWebSocketServerBuilder(config.getPort(), connectionHandler)
.withMessageAggregator(config.isMessageAggregator());
if (injector.getExistingBinding(pipelineConfiguratorKey) != null) {
builder.appendPipelineConfigurator(injector.getInstance(pipelineConfiguratorKey));
}
if (injector.getExistingBinding(metricEventsListenerFactoryKey) != null) {
builder.withMetricEventsListenerFactory(injector.getInstance(metricEventsListenerFactoryKey));
}
server = builder.build().start();
logger.info("Starting WebSockets server {} on port {}...", nameAnnotation.value(), server.getServerPort());
}
}
代码示例来源:origin: com.netflix.eureka/eureka2-server
public <T extends WebSocketFrame> void connectWebSocketEndpoint(String pathPrefix, ConnectionHandler<T, T> handler) {
WebSocketServer<T, T> backend = RxNetty.newWebSocketServerBuilder(0, handler).build();
backend.start();
backendServers.add(backend);
proxy.register(ForwardingRule.pathPrefix(backend.getServerPort(), pathPrefix));
logger.info("Started backend WebSocket server on port {} or {}", backend.getServerPort(), handler.getClass().getSimpleName());
}
代码示例来源:origin: com.netflix.karyon2/karyon-governator
@Inject
@SuppressWarnings("unchecked")
public void setInjector(Injector injector) {
KaryonWebSocketsModule.WebSocketsServerConfig config = (KaryonWebSocketsModule.WebSocketsServerConfig) injector.getInstance(serverConfigKey);
ConnectionHandler<I, O> connectionHandler = injector.getInstance(connectionHandlerKey);
WebSocketServerBuilder<I, O> builder = RxNetty.newWebSocketServerBuilder(config.getPort(), connectionHandler)
.withMessageAggregator(config.isMessageAggregator());
if (injector.getExistingBinding(pipelineConfiguratorKey) != null) {
builder.appendPipelineConfigurator(injector.getInstance(pipelineConfiguratorKey));
}
if (injector.getExistingBinding(metricEventsListenerFactoryKey) != null) {
builder.withMetricEventsListenerFactory(injector.getInstance(metricEventsListenerFactoryKey));
}
server = builder.build().start();
logger.info("Starting WebSockets server {} on port {}...", nameAnnotation.value(), server.getServerPort());
}
}
代码示例来源:origin: com.netflix.eureka/eureka2-dashboard
@PostConstruct
public void start() {
server = RxNetty.newWebSocketServerBuilder(config.getWebSocketPort(), new ConnectionHandler<WebSocketFrame, WebSocketFrame>() {
@Override
public Observable<Void> handle(final ObservableConnection<WebSocketFrame, WebSocketFrame> connection) {
return connection.getInput().flatMap(new Func1<WebSocketFrame, Observable<Void>>() {
@Override
public Observable<Void> call(WebSocketFrame wsFrame) {
if (wsFrame instanceof TextWebSocketFrame) {
TextWebSocketFrame textFrame = (TextWebSocketFrame) wsFrame;
logger.info("Got ws-message: " + textFrame.text());
final String cmd = textFrame.text();
if (cmd.equals("get status")) {
return streamEurekaStatus(connection);
} else {
// registry
return streamEurekaRegistryData(connection);
}
} else {
return Observable.empty();
}
}
});
}
}).build().start();
logger.info("Starting WebSocket server on port {}...", server.getServerPort());
}
代码示例来源:origin: com.netflix.karyon/karyon-governator
@Inject
@SuppressWarnings("unchecked")
public void setInjector(Injector injector) {
WebSocketsServerConfig config = (WebSocketsServerConfig) injector.getInstance(serverConfigKey);
ConnectionHandler<I, O> connectionHandler = injector.getInstance(connectionHandlerKey);
WebSocketServerBuilder<I, O> builder = RxNetty.newWebSocketServerBuilder(config.getPort(), connectionHandler)
.withMessageAggregator(config.isMessageAggregator());
if (injector.getExistingBinding(pipelineConfiguratorKey) != null) {
builder.appendPipelineConfigurator(injector.getInstance(pipelineConfiguratorKey));
}
if (injector.getExistingBinding(metricEventsListenerFactoryKey) != null) {
builder.withMetricEventsListenerFactory(injector.getInstance(metricEventsListenerFactoryKey));
}
server = builder.build().start();
logger.info("Starting WebSockets server {} on port {}...", nameAnnotation.value(), server.getServerPort());
}
}
代码示例来源:origin: io.reactivex/rxnetty
@Override
protected RxServer<I, O> createServer() {
PipelineConfigurator<I, O> webSocketPipeline = new WebSocketServerPipelineConfigurator<I, O>(webSocketURI,
subprotocols, allowExtensions, maxFramePayloadLength, messageAggregator);
if (getPipelineConfigurator() != null) {
appendPipelineConfigurator(webSocketPipeline);
} else {
pipelineConfigurator(webSocketPipeline);
}
return new WebSocketServer<I, O>(serverBootstrap, port, pipelineConfigurator, connectionHandler, eventExecutorGroup);
}
代码示例来源:origin: com.netflix.eureka2/eureka-dashboard
@PostConstruct
public void start() {
server = RxNetty.newWebSocketServerBuilder(config.getWebSocketPort(), new ConnectionHandler<WebSocketFrame, WebSocketFrame>() {
@Override
public Observable<Void> handle(final ObservableConnection<WebSocketFrame, WebSocketFrame> connection) {
return connection.getInput().flatMap(new Func1<WebSocketFrame, Observable<Void>>() {
@Override
public Observable<Void> call(WebSocketFrame wsFrame) {
final SocketAddress socketAddress = connection.getChannel().remoteAddress();
if (wsFrame instanceof TextWebSocketFrame) {
TextWebSocketFrame textFrame = (TextWebSocketFrame) wsFrame;
logger.info("Got ws-message: " + textFrame.text());
final String cmd = textFrame.text();
if (cmd.equals("get status")) {
return streamEurekaStatus(connection);
} else {
// registry
return streamEurekaRegistryData(connection);
}
} else {
return Observable.empty();
}
}
});
}
}).build().start();
logger.info("Starting WebSocket server on port {}...", server.getServerPort());
}
代码示例来源:origin: io.reactivex/rxnetty
public static <I extends WebSocketFrame, O extends WebSocketFrame> WebSocketServerBuilder<I, O>
newWebSocketServerBuilder(int port, ConnectionHandler<I, O> connectionHandler) {
return new WebSocketServerBuilder<I, O>(port, connectionHandler).enableWireLogging(LogLevel.DEBUG);
}
我想从树中创建一个可观察对象。每个节点都会生成一个依赖于其父节点的可观察对象(例如通过 switchMap)。在树的每一层,每个 child 的可观察值都需要合并。 我想转换这段代码,以便它使用可观察
RxJS Observables 是可以随时间同步或异步返回零到无限值的函数。 但是异步行为究竟是如何实现的呢?它是以某种方式使用单独的线程,还是使用 Web API 和 JS 事件循环? 最佳答案
我正在学习 Rx(尤其是 RxSwift),我对架构、层和边界有疑问。 我习惯于分层架构(数据、域、表示),通常是在 MVP 或 VIPER 上。对于这个项目,我使用的是 MVVM,这是 Reacti
我正在使用 Rx.Net 并且我有 Observable 发出时间序列点( double ,时间戳)。每次新点到达时,我想计算过去 30 秒的平均值。我想我需要某种不是基于计数而是基于时间戳的重叠窗口
public class ReactiveExample { public static void main(String[] args) throws InterruptedExceptio
我正在尝试制作带有背压的流动性。我的想法是,在当前项目之一完成处理之前,不会发出新的可流动项目。我正在使用 ResourceSubscriber 和 subscribeWith() 方法来实现这一点。
我很好奇谁开始了 ReactiveX/RxJS? Rx 似乎在很多语言/平台中实现,我很好奇它的起源是什么?首先是哪个项目? RxJS 在 Angular Web 框架中大量使用。它背后是否有像微软、
我试图使用 RxJava 来理解 ReactiveX,但我无法理解整个 Reactive 的想法。我的案例如下: 我有 Task 类。它有 perform() 方法,该方法执行 HTTP 请求并通过
我如何利用 ReactiveX按顺序执行异步调用?即,在第一个调用完成后执行第二个调用。 更具体地说,我正在使用 RxSwift在 iOS 中,我想链接在一起的异步是 UIView 动画(而不是在第一
我在我的 iOS 应用程序中使用 RxSwift 进行缓存,并且有一段这样的代码: let observable = Observable.of(cache.getItem(itemID), netw
我正在使用 ReactiveX在 iOS/Swift 中(RxSwift)。 假设我有一个可观察对象: let dataUpdates = ... 我订阅的: dataUpdates.subscrib
我正在学习 ReactiveX。我删除了错误检查、日志记录和其他部分,以便于阅读。 我有一个以 JSON 格式返回对象集合的服务: getPanels() { return this.http
寻找一种干净的方式来转换源 Observable发出单个 null (或哨兵值)在一段时间内不发射项目后。 例如,如果源 observable 发出 1, 2, 3然后停止发射 10 秒,然后发射 4
我想知道在 Rx 中解决以下问题的规范方法是什么:假设我有两个可观察对象,mouse_down和 mouse_up ,其元素表示鼠标按钮按下。在一个非常简单的场景中,如果我想检测长按,我可以通过以下方
我在创建以下可观察值时遇到问题。 我希望它接收预定义的值数组 我想按不同的事物进行过滤,并能够将它们作为单独的可观察值进行处理。 然后,当需要合并这些过滤后的可观察值时,我想保留原始观察值的顺序 //
我有一个 Observable .我想把它变成一个 Map它告诉我每个不同字符串的出现次数。 Observable 包含约 10 亿个元素,其中 1000 个是不同的(因此不能将整个数据集存储在 RA
swipeRefreshLayout.setOnRefreshListener(() -> { swipeRefreshLayout.setRefreshing(true); retrieveDa
我是 ReactiveX 的新手。我是通过阅读源代码来学习它的。一切都那么清晰,但突然间我得到了一个名为“Consumer”的词,它是一个接口(interface)。它被用来代替观察者。 谁能告诉我它
如何在不使用任何加载器的旧 javascript 应用程序中加载 RxJS? 对于 RxJS 4.x,我可以简单地这样做: RxJS 5 怎么样?他们的文档假设您正在使用某种类型的加载器来处理所有事
我正在寻找一个与 debounce(ms) 类似的运算符,但它触发第一个事件,然后等待 ms 然后触发第一个事件,依此类推上。 基本上,我想过滤发生时间非常接近的事件(就时间而言),但不是等到最后一个
我是一名优秀的程序员,十分优秀!