diff --git a/spring-webflux-event-stream/src/main/java/com/baeldung/demo/eventstreamwebfluxdemo/EventStreamServer.java b/spring-webflux-event-stream/src/main/java/com/baeldung/demo/eventstreamwebfluxdemo/EventStreamServer.java new file mode 100644 index 0000000000..48548bd8d5 --- /dev/null +++ b/spring-webflux-event-stream/src/main/java/com/baeldung/demo/eventstreamwebfluxdemo/EventStreamServer.java @@ -0,0 +1,12 @@ +package com.baeldung.demo.eventstreamwebfluxdemo; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class EventStreamServer { + + public static void main(String[] args) { + SpringApplication.run(EventStreamServer.class, args); + } +} diff --git a/spring-webflux-event-stream/src/main/java/com/baeldung/demo/eventstreamwebfluxdemo/client/EventStreamClient.java b/spring-webflux-event-stream/src/main/java/com/baeldung/demo/eventstreamwebfluxdemo/client/EventStreamClient.java new file mode 100644 index 0000000000..73ca753136 --- /dev/null +++ b/spring-webflux-event-stream/src/main/java/com/baeldung/demo/eventstreamwebfluxdemo/client/EventStreamClient.java @@ -0,0 +1,18 @@ +package com.baeldung.demo.eventstreamwebfluxdemo.client; + +import org.springframework.http.MediaType; +import org.springframework.web.reactive.function.client.WebClient; + +public class EventStreamClient { + public static void main(String[] args) + { + WebClient.create("http://127.0.0.1:8080") + .get() + .uri("/events") + .accept(MediaType.APPLICATION_STREAM_JSON) + .retrieve() + .bodyToFlux(Long.class) + .toStream() + .forEach(item -> System.out.println("New event : " + item)); + } +} diff --git a/spring-webflux-event-stream/src/main/java/com/baeldung/demo/eventstreamwebfluxdemo/controller/EventStreamController.java b/spring-webflux-event-stream/src/main/java/com/baeldung/demo/eventstreamwebfluxdemo/controller/EventStreamController.java new file mode 100644 index 0000000000..d28d402316 --- /dev/null +++ b/spring-webflux-event-stream/src/main/java/com/baeldung/demo/eventstreamwebfluxdemo/controller/EventStreamController.java @@ -0,0 +1,17 @@ +package com.baeldung.demo.eventstreamwebfluxdemo.controller; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import reactor.core.publisher.Flux; + +import java.time.Duration; + +@RestController +public class EventStreamController +{ + @RequestMapping("/events") + public Flux getServerEvents() + { + return Flux.interval(Duration.ofMillis(1000)); + } +} diff --git a/spring-webflux-event-stream/src/main/resources/application.properties b/spring-webflux-event-stream/src/main/resources/application.properties new file mode 100644 index 0000000000..e69de29bb2 diff --git a/spring-webflux-event-stream/src/test/java/com/baeldung/demo/eventstreamwebfluxdemo/EventStreamServerTests.java b/spring-webflux-event-stream/src/test/java/com/baeldung/demo/eventstreamwebfluxdemo/EventStreamServerTests.java new file mode 100644 index 0000000000..d4dfcce4b3 --- /dev/null +++ b/spring-webflux-event-stream/src/test/java/com/baeldung/demo/eventstreamwebfluxdemo/EventStreamServerTests.java @@ -0,0 +1,16 @@ +package com.baeldung.demo.eventstreamwebfluxdemo; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(SpringRunner.class) +@SpringBootTest +public class EventStreamServerTests { + + @Test + public void contextLoads() { + } + +} diff --git a/twilio/sms/pom.xml b/twilio/sms/pom.xml new file mode 100644 index 0000000000..58ac33a7f3 --- /dev/null +++ b/twilio/sms/pom.xml @@ -0,0 +1,24 @@ + + + 4.0.0 + + com.baeldung.twilio + sms + 1.0-SNAPSHOT + + + 1.8 + 1.8 + + + + + com.twilio.sdk + twilio + 7.20.0 + + + + diff --git a/twilio/sms/src/main/java/TwilioSmsExample.java b/twilio/sms/src/main/java/TwilioSmsExample.java new file mode 100644 index 0000000000..442546027b --- /dev/null +++ b/twilio/sms/src/main/java/TwilioSmsExample.java @@ -0,0 +1,22 @@ +import com.twilio.Twilio; +import com.twilio.rest.api.v2010.account.Message; +import com.twilio.type.PhoneNumber; + +public class TwilioSmsExample { + // Find your Account Sid and Token at twilio.com/console + public static final String ACCOUNT_SID = "YOUR_ACCOUNT_SID"; + public static final String AUTH_TOKEN = "YOUR_ACCOUNT_TOKEN"; + + // Create a phone number in the Twilio console + public static final String TWILIO_NUMBER = "+13334445555"; + + public static void main(String[] args) { + Twilio.init(ACCOUNT_SID, AUTH_TOKEN); + Message message = Message.creator( + new PhoneNumber("+12227779999"), + new PhoneNumber(TWILIO_NUMBER), + "Sample Twilio SMS using Java") + .create(); + + } +} diff --git a/twilio/sms/src/main/java/TwilioSmsMediaExample.java b/twilio/sms/src/main/java/TwilioSmsMediaExample.java new file mode 100644 index 0000000000..09a2f9fd63 --- /dev/null +++ b/twilio/sms/src/main/java/TwilioSmsMediaExample.java @@ -0,0 +1,27 @@ +import com.twilio.Twilio; +import com.twilio.converter.Promoter; +import com.twilio.rest.api.v2010.account.Message; +import com.twilio.type.PhoneNumber; + +import java.net.URI; + +public class TwilioSmsMediaExample { + // Find your Account Sid and Token at twilio.com/console + public static final String ACCOUNT_SID = "YOUR_ACCOUNT_SID"; + public static final String AUTH_TOKEN = "YOUR_ACCOUNT_TOKEN"; + + // Create a phone number in the Twilio console + public static final String TWILIO_NUMBER = "+13334445555"; + + public static void main(String[] args) { + Twilio.init(ACCOUNT_SID, AUTH_TOKEN); + Message message = Message.creator( + new PhoneNumber("+12227779999"), + new PhoneNumber(TWILIO_NUMBER), + "Sample Twilio MMS using Java") + .setMediaUrl( + Promoter.listOfOne( + URI.create("http://www.baeldung.com/wp-content/uploads/2017/10/icon-javaseries-home.png"))) + .create(); + } +} diff --git a/twilio/sms/src/main/java/TwilioSmsStatusAsyncExample.java b/twilio/sms/src/main/java/TwilioSmsStatusAsyncExample.java new file mode 100644 index 0000000000..d75788a6a6 --- /dev/null +++ b/twilio/sms/src/main/java/TwilioSmsStatusAsyncExample.java @@ -0,0 +1,34 @@ +import com.google.common.util.concurrent.FutureCallback; +import com.google.common.util.concurrent.Futures; +import com.google.common.util.concurrent.ListenableFuture; +import com.twilio.Twilio; +import com.twilio.base.ResourceSet; +import com.twilio.rest.api.v2010.account.Message; + +public class TwilioSmsStatusAsyncExample { + // Find your Account Sid and Token at twilio.com/console + public static final String ACCOUNT_SID = "YOUR_ACCOUNT_SID"; + public static final String AUTH_TOKEN = "YOUR_AUTH_TOKEN"; + + // Create a phone number in the Twilio console + public static final String TWILIO_NUMBER = "+13334445555"; + + public static void main(String[] args) { + + Twilio.init(ACCOUNT_SID, AUTH_TOKEN); + ListenableFuture> future = Message.reader().readAsync(); + Futures.addCallback( + future, + new FutureCallback>() { + public void onSuccess(ResourceSet messages) { + for (Message message : messages) { + System.out.println(message.getSid() + " : " + message.getStatus()); + } + } + + public void onFailure(Throwable t) { + System.out.println("Failed to get message status: " + t.getMessage()); + } + }); + } +} diff --git a/twilio/sms/src/main/java/TwilioSmsStatusExample.java b/twilio/sms/src/main/java/TwilioSmsStatusExample.java new file mode 100644 index 0000000000..9ed2ac5bcc --- /dev/null +++ b/twilio/sms/src/main/java/TwilioSmsStatusExample.java @@ -0,0 +1,22 @@ +import com.twilio.Twilio; +import com.twilio.base.ResourceSet; +import com.twilio.rest.api.v2010.account.Message; +import com.twilio.type.PhoneNumber; + +public class TwilioSmsStatusExample { + // Find your Account Sid and Token at twilio.com/console + public static final String ACCOUNT_SID = "YOUR_ACCOUNT_SID"; + public static final String AUTH_TOKEN = "YOUR_ACCOUNT_TOKEN"; + + // Create a phone number in the Twilio console + public static final String TWILIO_NUMBER = "+13334445555"; + + public static void main(String[] args) { + + Twilio.init(ACCOUNT_SID, AUTH_TOKEN); + ResourceSet messages = Message.reader().read(); + for (Message message : messages) { + System.out.println(message.getSid() + " : " + message.getStatus()); + } + } +}