/* * Copyright (c) 2011-2015 The original author or authors * ------------------------------------------------------ * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Apache License v2.0 which accompanies this distribution. * * The Eclipse Public License is available at * http://www.eclipse.org/legal/epl-v10.html * * The Apache License v2.0 is available at * http://www.opensource.org/licenses/apache2.0.php * * You may elect to redistribute this code under either of these licenses. */ package io.vertx.ext.stomp.integration; import io.vertx.core.AbstractVerticle; import io.vertx.core.buffer.Buffer; import io.vertx.ext.stomp.StompClient; import io.vertx.ext.stomp.StompClientOptions; /** * A verticle sending messages to a STOMP destination. * * @author <a href="http://escoffier.me">Clement Escoffier</a> */ public class StompPublisher extends AbstractVerticle { private StompClient client; @Override public void start() throws Exception { System.out.println("Starting publisher"); client = StompClient.create(vertx, new StompClientOptions(config())); client.connect(ar -> { if (ar.failed()) { System.err.println("Cannot connect to STOMP server"); ar.cause().printStackTrace(); return; } vertx.setPeriodic(5000, l -> ar.result().send("/queue/event", Buffer.buffer("Hello"), frame -> { System.out.println("Receipt received"); })); }); } @Override public void stop() throws Exception { super.stop(); client.close(); } }