本文整理汇总了Java中org.eclipse.jetty.websocket.servlet.WebSocketCreator类的典型用法代码示例。如果您正苦于以下问题:Java WebSocketCreator类的具体用法?Java WebSocketCreator怎么用?Java WebSocketCreator使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
WebSocketCreator类属于org.eclipse.jetty.websocket.servlet包,在下文中一共展示了WebSocketCreator类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: configure
import org.eclipse.jetty.websocket.servlet.WebSocketCreator; //导入依赖的package包/类
@Override
public void configure(final WebSocketServletFactory factory) {
final EgressMobiusHandler self = this;
final WebSocketCreator oldcreator = factory.getCreator();
WebSocketCreator creator = new WebSocketCreator() {
@Override
public Object createWebSocket(ServletUpgradeRequest req, ServletUpgradeResponse resp) {
MobiusWebSocket ws = (MobiusWebSocket) oldcreator.createWebSocket(req, resp);
ws.setMobiusHandler(self);
return ws;
}
};
factory.setCreator(creator);
super.configure(factory);
}
示例2: TestJettyWebSocketServer
import org.eclipse.jetty.websocket.servlet.WebSocketCreator; //导入依赖的package包/类
public TestJettyWebSocketServer(int port, final WebSocketHandler webSocketHandler) {
this.server = new Server();
ServerConnector connector = new ServerConnector(this.server);
connector.setPort(port);
this.server.addConnector(connector);
this.server.setHandler(new org.eclipse.jetty.websocket.server.WebSocketHandler() {
@Override
public void configure(WebSocketServletFactory factory) {
factory.setCreator(new WebSocketCreator() {
@Override
public Object createWebSocket(ServletUpgradeRequest req, ServletUpgradeResponse resp) {
if (!CollectionUtils.isEmpty(req.getSubProtocols())) {
resp.setAcceptedSubProtocol(req.getSubProtocols().get(0));
}
JettyWebSocketSession session = new JettyWebSocketSession(null, null);
return new JettyWebSocketHandlerAdapter(webSocketHandler, session);
}
});
}
});
}
示例3: configure
import org.eclipse.jetty.websocket.servlet.WebSocketCreator; //导入依赖的package包/类
@Override
public void configure(WebSocketServletFactory factory) {
if (websocketMaxIdleTime == 0) {
// Jetty not allows 0 timeout.
factory.getPolicy().setIdleTimeout(Integer.MAX_VALUE);
} else {
factory.getPolicy().setIdleTimeout(websocketMaxIdleTime);
}
factory.getPolicy().setMaxTextMessageSize(websocketMaxMessageSize*1024*1024);
factory.setCreator(new WebSocketCreator() {
@Override
public Object createWebSocket(final ServletUpgradeRequest req, ServletUpgradeResponse resp) {
return webSocketConnection.get().getWebSocketServerChannel();
}
});
}
示例4: start
import org.eclipse.jetty.websocket.servlet.WebSocketCreator; //导入依赖的package包/类
public static void start(@Nonnull Config config, @Nonnull List<Handler> extraHandlers,
@Nonnull WebSocketCreator creator) throws Exception {
checkNotNull(config);
checkNotNull(creator);
long idleTimeout = config.getTime("webserver.idleTimeout", "10m");
int maxTextMessageSize = config.getInt("webserver.maxTextMessageSize", 1024 * 1024);
HandlerList handlers = new HandlerList();
handlers.addHandler(new WebSocketHandler() {
@Override
public void configure(WebSocketServletFactory factory) {
factory.getPolicy().setIdleTimeout(idleTimeout);
factory.getPolicy().setMaxTextMessageSize(maxTextMessageSize);
factory.setCreator(creator);
}
});
for (Handler handler : extraHandlers) {
handlers.addHandler(handler);
}
Server server = new Server(config.getInt("webserver.port", 8034));
server.setHandler(handlers);
server.start();
}
示例5: configure
import org.eclipse.jetty.websocket.servlet.WebSocketCreator; //导入依赖的package包/类
@SuppressWarnings("cast")
@Override
public void configure(WebSocketServletFactory factory) {
if (websocketMaxIdleTime == 0) {
// Jetty does not allow to set infinite timeout.
factory.getPolicy().setIdleTimeout(Integer.MAX_VALUE);
} else {
factory.getPolicy().setIdleTimeout(websocketMaxIdleTime);
}
factory.getPolicy().setMaxTextMessageSize(websocketMaxMessageSize * 1024 * 1024);
factory.setCreator(new WebSocketCreator() {
@Override
public Object createWebSocket(ServletUpgradeRequest req, ServletUpgradeResponse resp) {
ParticipantId loggedInUser =
provider.sessionManager.getLoggedInUser(req.getSession());
return new WebSocketConnection(loggedInUser, provider).getWebSocketServerChannel();
}
});
}
示例6: addWebSocket
import org.eclipse.jetty.websocket.servlet.WebSocketCreator; //导入依赖的package包/类
@Signature
public void addWebSocket(Environment env, String path, ArrayMemory _handlers) {
WebSocketParam param = _handlers.toBean(env, WebSocketParam.class);
ContextHandler contextHandler = new ContextHandler(path);
contextHandler.setHandler(new WebSocketHandler() {
@Override
public void configure(WebSocketServletFactory factory) {
factory.setCreator(new WebSocketCreator() {
@Override
public Object createWebSocket(ServletUpgradeRequest req, ServletUpgradeResponse resp) {
return new WebSocket(env, param);
}
});
}
});
handlers.addHandler(contextHandler);
}
示例7: configure
import org.eclipse.jetty.websocket.servlet.WebSocketCreator; //导入依赖的package包/类
@Override
public void configure(WebSocketServletFactory factory) {
factory.getPolicy().setIdleTimeout(WS_IDLE_TIMEOUT_MS);
factory.setCreator(new WebSocketCreator() {
@Override
public Object createWebSocket(ServletUpgradeRequest request, ServletUpgradeResponse response) {
return new ClientWebSocket(onClientConnectQuerier, requestQueueController);
}
});
}
示例8: configure
import org.eclipse.jetty.websocket.servlet.WebSocketCreator; //导入依赖的package包/类
@Override
public void configure(WebSocketServletFactory factory) {
factory.getPolicy().setIdleTimeout(Context.getConfig().getLong("web.timeout", ASYNC_TIMEOUT));
factory.setCreator(new WebSocketCreator() {
@Override
public Object createWebSocket(ServletUpgradeRequest req, ServletUpgradeResponse resp) {
if (req.getSession() != null) {
long userId = (Long) req.getSession().getAttribute(SessionResource.USER_ID_KEY);
return new AsyncSocket(userId);
} else {
return null;
}
}
});
}
示例9: configure
import org.eclipse.jetty.websocket.servlet.WebSocketCreator; //导入依赖的package包/类
@Override
public void configure(WebSocketServletFactory factory) {
factory.getPolicy().setIdleTimeout(maxIdleTimeMinutes * 1000 * 60);
factory.setCreator(new WebSocketCreator() {
@Override
public Object createWebSocket(ServletUpgradeRequest req,
ServletUpgradeResponse resp) {
HttpSession hs = req.getHttpServletRequest().getSession(true);
if (hs.isNew())
hs.setMaxInactiveInterval(maxIdleTimeMinutes * 60);
return new Adapter(Servlet.this);
}
});
}
示例10: configure
import org.eclipse.jetty.websocket.servlet.WebSocketCreator; //导入依赖的package包/类
@Override
public void configure(final WebSocketServletFactory factory) {
final StandaloneStreamUpdateHandler self = this;
final WebSocketCreator oldcreator = factory.getCreator();
WebSocketCreator creator = new WebSocketCreator() {
@Override
public Object createWebSocket(ServletUpgradeRequest req, ServletUpgradeResponse resp) {
StandaloneStreamUpdateWebSocket ws = (StandaloneStreamUpdateWebSocket) oldcreator.createWebSocket(req, resp);
ws.setHandler(self);
return ws;
}
};
factory.setCreator(creator);
//
// Update the maxMessageSize if need be
//
if (this.properties.containsKey(Configuration.INGRESS_WEBSOCKET_MAXMESSAGESIZE)) {
factory.getPolicy().setMaxTextMessageSize((int) Long.parseLong(this.properties.getProperty(Configuration.INGRESS_WEBSOCKET_MAXMESSAGESIZE)));
factory.getPolicy().setMaxBinaryMessageSize((int) Long.parseLong(this.properties.getProperty(Configuration.INGRESS_WEBSOCKET_MAXMESSAGESIZE)));
}
super.configure(factory);
}
示例11: configure
import org.eclipse.jetty.websocket.servlet.WebSocketCreator; //导入依赖的package包/类
@Override
public void configure(final WebSocketServletFactory factory) {
final StandalonePlasmaHandler self = this;
final WebSocketCreator oldcreator = factory.getCreator();
WebSocketCreator creator = new WebSocketCreator() {
@Override
public Object createWebSocket(ServletUpgradeRequest req, ServletUpgradeResponse resp) {
StandalonePlasmaWebSocket ws = (StandalonePlasmaWebSocket) oldcreator.createWebSocket(req, resp);
ws.setHandler(self);
return ws;
}
};
factory.setCreator(creator);
//
// Update the maxMessageSize if need be
//
if (this.properties.containsKey(Configuration.PLASMA_FRONTEND_WEBSOCKET_MAXMESSAGESIZE)) {
factory.getPolicy().setMaxTextMessageSize((int) Long.parseLong(this.properties.getProperty(Configuration.PLASMA_FRONTEND_WEBSOCKET_MAXMESSAGESIZE)));
factory.getPolicy().setMaxBinaryMessageSize((int) Long.parseLong(this.properties.getProperty(Configuration.PLASMA_FRONTEND_WEBSOCKET_MAXMESSAGESIZE)));
}
super.configure(factory);
}
示例12: configure
import org.eclipse.jetty.websocket.servlet.WebSocketCreator; //导入依赖的package包/类
@Override
public void configure(final WebSocketServletFactory factory) {
final IngressStreamUpdateHandler self = this;
final WebSocketCreator oldcreator = factory.getCreator();
WebSocketCreator creator = new WebSocketCreator() {
@Override
public Object createWebSocket(ServletUpgradeRequest req, ServletUpgradeResponse resp) {
StandaloneStreamUpdateWebSocket ws = (StandaloneStreamUpdateWebSocket) oldcreator.createWebSocket(req, resp);
ws.setHandler(self);
return ws;
}
};
factory.setCreator(creator);
//
// Update the maxMessageSize if need be
//
if (this.ingress.properties.containsKey(Configuration.INGRESS_WEBSOCKET_MAXMESSAGESIZE)) {
factory.getPolicy().setMaxTextMessageSize((int) Long.parseLong(this.ingress.properties.getProperty(Configuration.INGRESS_WEBSOCKET_MAXMESSAGESIZE)));
factory.getPolicy().setMaxBinaryMessageSize((int) Long.parseLong(this.ingress.properties.getProperty(Configuration.INGRESS_WEBSOCKET_MAXMESSAGESIZE)));
}
super.configure(factory);
}
示例13: configure
import org.eclipse.jetty.websocket.servlet.WebSocketCreator; //导入依赖的package包/类
@Override
public void configure(WebSocketServletFactory factory)
{
if (XmppWebSocket.isCompressionEnabled()) {
factory.getExtensionFactory().register("permessage-deflate", PerMessageDeflateExtension.class);
}
final int messageSize = JiveGlobals.getIntProperty("xmpp.parser.buffer.size", 1048576);
factory.getPolicy().setMaxTextMessageBufferSize(messageSize * 5);
factory.getPolicy().setMaxTextMessageSize(messageSize);
factory.setCreator(new WebSocketCreator() {
@Override
public Object createWebSocket(ServletUpgradeRequest req, ServletUpgradeResponse resp)
{
try {
for (String subprotocol : req.getSubProtocols())
{
if ("xmpp".equals(subprotocol))
{
resp.setAcceptedSubProtocol(subprotocol);
return new XmppWebSocket();
}
}
} catch (Exception e) {
Log.warn(MessageFormat.format("Unable to load websocket factory: {0} ({1})", e.getClass().getName(), e.getMessage()));
}
Log.warn("Failed to create websocket for {}:{} make a request at {}", req.getRemoteAddress(), req.getRemotePort(), req.getRequestPath() );
return null;
}
});
}
示例14: configure
import org.eclipse.jetty.websocket.servlet.WebSocketCreator; //导入依赖的package包/类
@Override
public void configure(WebSocketServletFactory webSocketServletFactory) {
webSocketServletFactory.setCreator(new WebSocketCreator() {
@Override
public Object createWebSocket(ServletUpgradeRequest req, ServletUpgradeResponse resp) {
return new JettyWebSocketListener(channelProcessor);
}
});
}
示例15: configure
import org.eclipse.jetty.websocket.servlet.WebSocketCreator; //导入依赖的package包/类
@Override
public void configure(WebSocketServletFactory factory) {
factory.setCreator(new WebSocketCreator() {
@Override
public Object createWebSocket(ServletUpgradeRequest request, ServletUpgradeResponse response) {
LOG.debug("create websocket servlet");
WebSocketInstance wsi = new WebSocketInstance();
wsi.setScriptEngineManager(scriptEngineManager);
wsi.setApplication(application);
wsi.setApplicationInstance(applicationInstance);
wsi.setClassLoader(classLoader);
return wsi;
}
});
}