protected void sendMessage(final byte[] buffer) throws ProcessException { final EventHubClient sender = senderQueue.poll(); if(null != sender) { try { sender.sendSync(new EventData(buffer)); } catch (final ServiceBusException sbe) { throw new ProcessException("Caught exception trying to send message to eventbus", sbe); } finally { senderQueue.offer(sender); } }else{ throw new ProcessException("No EventHubClients are configured for sending"); } } }
@Override public void execute(Tuple tuple) { try { EventData sendEvent = new EventData(boltConfig.getEventDataFormat().serialize(tuple)); if (boltConfig.getPartitionMode() && sender != null) { sender.sendSync(sendEvent); } else if (boltConfig.getPartitionMode() && sender == null) { throw new EventHubException("Sender is null"); } else if (!boltConfig.getPartitionMode() && ehClient != null) { ehClient.sendSync(sendEvent); } else if (!boltConfig.getPartitionMode() && ehClient == null) { throw new EventHubException("ehclient is null"); } collector.ack(tuple); } catch (EventHubException ex) { collector.reportError(ex); collector.fail(tuple); } catch (ServiceBusException e) { collector.reportError(e); collector.fail(tuple); } }
public void send(final byte[] msg) throws EventHubException { if (msg != null) { EventData data = EventData.create(msg); this.eventHubSender.sendSync(data); } }
public void send(final Iterable<byte[]> messages) throws EventHubException { if (messages != null) { LinkedList<EventData> events = new LinkedList<EventData>(); for (byte[] message : messages) { events.add(EventData.create(message)); } this.eventHubSender.sendSync(events); } }
@Test public void doAzureEventSourceSendTest() throws Exception { ExecutorService executor = Executors.newSingleThreadExecutor(); final ConnectionStringBuilder connStr = new ConnectionStringBuilder().setNamespaceName("sitewhere") .setEventHubName("events").setSasKeyName("RootManageSharedAccessKey").setSasKey("xxx"); byte[] payloadBytes = EventsHelper.generateJsonMeasurementsMessage(DEVICE_TOKEN); EventData sendEvent = EventData.create(payloadBytes); final EventHubClient ehClient = EventHubClient.createSync(connStr.toString(), executor); ehClient.sendSync(sendEvent); ehClient.closeSync(); executor.shutdown(); }