/** * Creates a {@link StompClient} using the default implementation. * * @param vertx the vert.x instance to use * @return the created {@link StompClient} */ static StompClient create(Vertx vertx) { return create(vertx, new StompClientOptions()); }
public static void toJson(StompClientOptions obj, java.util.Map<String, Object> json) { if (obj.getAcceptedVersions() != null) { JsonArray array = new JsonArray(); obj.getAcceptedVersions().forEach(item -> array.add(item)); json.put("acceptedVersions", array); } json.put("autoComputeContentLength", obj.isAutoComputeContentLength()); json.put("bypassHostHeader", obj.isBypassHostHeader()); if (obj.getHeartbeat() != null) { json.put("heartbeat", obj.getHeartbeat()); } if (obj.getHost() != null) { json.put("host", obj.getHost()); } if (obj.getLogin() != null) { json.put("login", obj.getLogin()); } if (obj.getPasscode() != null) { json.put("passcode", obj.getPasscode()); } json.put("port", obj.getPort()); json.put("trailingLine", obj.isTrailingLine()); json.put("useStompFrame", obj.isUseStompFrame()); if (obj.getVirtualHost() != null) { json.put("virtualHost", obj.getVirtualHost()); } } }
private Frame getConnectFrame(String host) { Headers headers = Headers.create(); String accepted = getAcceptedVersions(); if (accepted != null) { headers.put(Frame.ACCEPT_VERSION, accepted); } if (!options.isBypassHostHeader()) { headers.put(Frame.HOST, host); } if (options.getVirtualHost() != null) { headers.put(Frame.HOST, options.getVirtualHost()); } if (options.getLogin() != null) { headers.put(Frame.LOGIN, options.getLogin()); } if (options.getPasscode() != null) { headers.put(Frame.PASSCODE, options.getPasscode()); } headers.put(Frame.HEARTBEAT, Frame.Heartbeat.create(options.getHeartbeat()).toString()); Frame.Command cmd = options.isUseStompFrame() ? Frame.Command.STOMP : Frame.Command.CONNECT; return new Frame(cmd, headers, null); }
public void initialize() { state.status = ConnectionStatus.CONNECTING; StompClientOptions options = new StompClientOptions(); options.setHost(host); // TODO - fixme options.setSsl(useSsl); // TODO OMG - stupid bug in 3.2.1 try { Field f = TCPSSLOptions.class.getDeclaredField("ssl"); f.setAccessible(true); f.set(options, useSsl); } catch (NoSuchFieldException | IllegalAccessException e) { throw new RuntimeException(e); } options.setPort(port); // TODO - fixme options.setLogin(eventuateCredentials.getApiKeyId()); options.setPasscode(eventuateCredentials.getApiKeySecret()); options.setHeartbeat(new JsonObject().put("x", 60 * 1000).put("y", 60 * 1000)); stompClient = new MyStompClientImpl(vertx, options); stompClient.closeHandler(this::handleClose); logger.debug("Connecting..."); stompClient.connect(x -> { if (x.succeeded()) { logger.debug("Connected!"); handleConnectSucceeded(x.result()); } else { logger.error("Connect attempt failed", x.cause()); handleConnectFailed(); } }); }
private String getAcceptedVersions() { if (options.getAcceptedVersions() == null || options.getAcceptedVersions().isEmpty()) { return null; } StringBuilder builder = new StringBuilder(); options.getAcceptedVersions().forEach( version -> builder.append(builder.length() == 0 ? version : FrameParser.COMMA + version) ); return builder.toString(); }
Frame.Heartbeat.create(client.options().getHeartbeat()), Frame.Heartbeat.parse(frame.getHeader(Frame.HEARTBEAT))); long pong = Frame.Heartbeat.computePongPeriod( Frame.Heartbeat.create(client.options().getHeartbeat()), Frame.Heartbeat.parse(frame.getHeader(Frame.HEARTBEAT)));
private Buffer getConnectFrame(String host) { Headers headers = Headers.create(); String accepted = getAcceptedVersions(); if (accepted != null) { headers.put(Frame.ACCEPT_VERSION, accepted); } if (!options.isBypassHostHeader()) { headers.put(Frame.HOST, host); } if (options.getVirtualHost() != null) { headers.put(Frame.HOST, options.getVirtualHost()); } if (options.getLogin() != null) { headers.put(Frame.LOGIN, options.getLogin()); } if (options.getPasscode() != null) { headers.put(Frame.PASSCODE, options.getPasscode()); } headers.put(Frame.HEARTBEAT, Frame.Heartbeat.create(options.getHeartbeat()).toString()); Frame.Command cmd = options.isUseStompFrame() ? Frame.Command.STOMP : Frame.Command.CONNECT; final Frame frame = new Frame(cmd, headers, null); return frame.toBuffer(); }
public void initialize() { state.status = ConnectionStatus.CONNECTING; StompClientOptions options = new StompClientOptions(); options.setHost(host); // TODO - fixme options.setSsl(useSsl); // TODO OMG - stupid bug in 3.2.1 try { Field f = TCPSSLOptions.class.getDeclaredField("ssl"); f.setAccessible(true); f.set(options, useSsl); } catch (NoSuchFieldException | IllegalAccessException e) { throw new RuntimeException(e); } options.setPort(port); // TODO - fixme options.setLogin(eventuateCredentials.getApiKeyId()); options.setPasscode(eventuateCredentials.getApiKeySecret()); options.setHeartbeat(new JsonObject().put("x", 60 * 1000).put("y", 60 * 1000)); stompClient = new MyStompClientImpl(vertx, options); stompClient.closeHandler(this::handleClose); logger.debug("Connecting..."); stompClient.connect(x -> { if (x.succeeded()) { logger.debug("Connected!"); handleConnectSucceeded(x.result()); } else { logger.error("Connect attempt failed", x.cause()); handleConnectFailed(); } }); }
private String getAcceptedVersions() { if (options.getAcceptedVersions() == null || options.getAcceptedVersions().isEmpty()) { return null; } StringBuilder builder = new StringBuilder(); options.getAcceptedVersions().stream().forEach( version -> builder.append(builder.length() == 0 ? version : FrameParser.COMMA + version) ); return builder.toString(); }
private Buffer getConnectFrame(String host) { Headers headers = Headers.create(); String accepted = getAcceptedVersions(); if (accepted != null) { headers.put(Frame.ACCEPT_VERSION, accepted); } if (!options.isBypassHostHeader()) { headers.put(Frame.HOST, host); } if (options.getVirtualHost() != null) { headers.put(Frame.HOST, options.getVirtualHost()); } if (options.getLogin() != null) { headers.put(Frame.LOGIN, options.getLogin()); } if (options.getPasscode() != null) { headers.put(Frame.PASSCODE, options.getPasscode()); } headers.put(Frame.HEARTBEAT, Frame.Heartbeat.create(options.getHeartbeat()).toString()); Frame.Command cmd = options.isUseStompFrame() ? Frame.Command.STOMP : Frame.Command.CONNECT; final Frame frame = new Frame(cmd, headers, null); return frame.toBuffer(); }
public static io.vertx.ext.stomp.StompClient create(io.vertx.ext.stomp.StompClient j_receiver, io.vertx.core.Vertx vertx, java.util.Map<String, Object> options) { return io.vertx.core.impl.ConversionHelper.fromObject(io.vertx.ext.stomp.StompClient.create(vertx, options != null ? new io.vertx.ext.stomp.StompClientOptions(io.vertx.core.impl.ConversionHelper.toJsonObject(options)) : null)); } }
private String getAcceptedVersions() { if (options.getAcceptedVersions() == null || options.getAcceptedVersions().isEmpty()) { return null; } StringBuilder builder = new StringBuilder(); options.getAcceptedVersions().stream().forEach( version -> builder.append(builder.length() == 0 ? version : FrameParser.COMMA + version) ); return builder.toString(); }