Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package repros.repros;
- import java.time.Instant;
- import java.util.Random;
- import java.util.UUID;
- import java.util.concurrent.CompletableFuture;
- import java.util.function.BiConsumer;
- import java.util.logging.FileHandler;
- import java.util.logging.Level;
- import java.util.logging.LogRecord;
- import java.util.logging.Logger;
- import java.util.logging.SimpleFormatter;
- import com.microsoft.azure.eventhubs.EventData;
- import com.microsoft.azure.eventhubs.EventHubClient;
- import com.microsoft.azure.servicebus.ConnectionStringBuilder;
- public class SendAsync
- {
- public static void main( String[] args) throws Exception
- {
- final int sendPerLoop = 5;
- String username = "--------------";
- String password = "---------------------------------";
- String namespaceName = "--------";
- String eventHubName = "-------";
- ConnectionStringBuilder connStr = new ConnectionStringBuilder(namespaceName, eventHubName, username, password);
- String connectionString = connStr.toString();
- System.out.println(connectionString);
- System.out.println(Instant.now().toString());
- EventHubClient client = EventHubClient.createFromConnectionStringSync(connectionString);
- for (int i = 0; i < sendPerLoop; i++)
- {
- startSending(client);
- }
- }
- public static void startSending(final EventHubClient ehClient)
- {
- byte[] payload = new byte[300];
- new Random().nextBytes(payload);
- EventData eData = new EventData(payload);
- final Instant startTime = Instant.now();
- final CompletableFuture<Void> sendFuture = ehClient.send(eData, UUID.randomUUID().toString()).whenCompleteAsync(new BiConsumer<Void, Throwable>() {
- @Override
- public void accept(Void t, Throwable u) {
- if (u != null) {
- u.printStackTrace();
- }
- final long latency = Instant.now().toEpochMilli() - startTime.toEpochMilli();
- // TODO: async log
- }});
- sendFuture.whenCompleteAsync(new BiConsumer<Void, Throwable>() {
- @Override
- public void accept(Void t, Throwable u) {
- startSending(ehClient);
- }});
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement