{"guid":"dc9b4e9a-edc3-473a-bfde-81fd30604b81","title":"Reaktive Programmierung in Java - mehr als eine Erweiterung des Observable-Patterns","subtitle":null,"slug":"froscon2017-1911-reaktive_programmierung_in_java_-_mehr_als_eine_erweiterung_des_observable-patterns","link":"https://c3voc.de","description":"Reaktive Programmierung gewinnt ständig an Bedeutung in Zeiten von Mehrkernprozessoren.  In Java 9 haben die wichtigsten Interfaces wie Publisher und Subscriber Einzug in die Concurrency Bilbiothek als Flow API gefunden. In diesem Vortrag erläutern wir die Idee hinter der reaktiven Programmierung und schauen uns die zwei bekanntesten Frameworks Spring Reactor und RxJava an, die die Flow API implementieren. Am Ende schließen wir den Vortrag mit der Demo der reaktiven Anwendung auf Basis von Spring 5 und Spring Boot 2 ab.","original_language":"deu","persons":["Vadym Kazulkin","Rodion Alukhanov"],"tags":["froscon17","1911"],"view_count":95,"promoted":false,"date":"2017-08-19T00:00:00.000+02:00","release_date":"2017-08-20T02:00:00.000+02:00","updated_at":"2025-10-02T21:15:07.209+02:00","length":3701,"duration":3701,"thumb_url":"https://static.media.ccc.de/media/events/froscon/2017/1911-hd.jpg","poster_url":"https://static.media.ccc.de/media/events/froscon/2017/1911-hd_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/froscon/2017/dc9b4e9a-edc3-473a-bfde-81fd30604b81-timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/froscon/2017/dc9b4e9a-edc3-473a-bfde-81fd30604b81-thumbnails.vtt","frontend_link":"https://media.ccc.de/v/froscon2017-1911-reaktive_programmierung_in_java_-_mehr_als_eine_erweiterung_des_observable-patterns","url":"https://api.media.ccc.de/public/events/dc9b4e9a-edc3-473a-bfde-81fd30604b81","conference_title":"FrOSCon 2017","conference_url":"https://api.media.ccc.de/public/conferences/froscon2017","related":[{"event_id":3440,"event_guid":"6e6ae48b-d059-4acb-8c6c-eb7ef389606d","weight":2},{"event_id":4396,"event_guid":"b5188ef7-b244-48fc-826e-7603cd1d7837","weight":3},{"event_id":4412,"event_guid":"7d71a2b2-3a4b-473c-9eb4-41c1b33990d0","weight":2},{"event_id":4426,"event_guid":"21c4794b-1dbb-4c28-a48a-bdc5d4455cde","weight":2},{"event_id":4431,"event_guid":"50b2cf5f-cc9b-49ef-bc7b-39bb383bf253","weight":3},{"event_id":4432,"event_guid":"0956dee1-0ac8-4381-94d4-134c91e32e96","weight":2},{"event_id":4440,"event_guid":"2ce31c5d-ecbb-4da6-9c4d-a596d1b93b1c","weight":4},{"event_id":4443,"event_guid":"10101965-4a4c-4da0-8c0b-c9dd612a03cf","weight":3},{"event_id":4445,"event_guid":"f8fab960-b236-49d5-846d-370ba887ac1a","weight":2},{"event_id":4458,"event_guid":"40732b8d-7cd9-4a36-951b-f898872d623a","weight":3},{"event_id":4462,"event_guid":"5524c82a-5bde-43ef-9c8d-2bfd1542650d","weight":4},{"event_id":4468,"event_guid":"0698cea1-0913-4db7-bc65-5d397597c8e8","weight":2},{"event_id":4477,"event_guid":"6b0f731e-3314-4c8d-b917-bf9aa9a42edb","weight":2},{"event_id":5765,"event_guid":"cc58e79c-5a9f-43cf-80da-6dca94b402c4","weight":4}],"recordings":[{"size":153,"length":3701,"mime_type":"video/mp4","language":"deu","filename":"froscon17-1911-deu-Reaktive_Programmierung_in_Java_-_mehr_als_eine_Erweiterung_des_Observable-Patterns_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2017-08-20T11:04:37.095+02:00","recording_url":"https://cdn.media.ccc.de/events/froscon/2017/h264-hd/froscon17-1911-deu-Reaktive_Programmierung_in_Java_-_mehr_als_eine_Erweiterung_des_Observable-Patterns_hd.mp4","url":"https://api.media.ccc.de/public/recordings/18706","event_url":"https://api.media.ccc.de/public/events/dc9b4e9a-edc3-473a-bfde-81fd30604b81","conference_url":"https://api.media.ccc.de/public/conferences/froscon2017"},{"size":56,"length":3694,"mime_type":"audio/mpeg","language":"deu","filename":"froscon17-1911-deu-Reaktive_Programmierung_in_Java_-_mehr_als_eine_Erweiterung_des_Observable-Patterns.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2017-08-20T11:44:20.903+02:00","recording_url":"https://cdn.media.ccc.de/events/froscon/2017/mp3/froscon17-1911-deu-Reaktive_Programmierung_in_Java_-_mehr_als_eine_Erweiterung_des_Observable-Patterns.mp3","url":"https://api.media.ccc.de/public/recordings/18707","event_url":"https://api.media.ccc.de/public/events/dc9b4e9a-edc3-473a-bfde-81fd30604b81","conference_url":"https://api.media.ccc.de/public/conferences/froscon2017"},{"size":46,"length":3694,"mime_type":"audio/opus","language":"deu","filename":"froscon17-1911-deu-Reaktive_Programmierung_in_Java_-_mehr_als_eine_Erweiterung_des_Observable-Patterns.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2017-08-20T11:44:36.456+02:00","recording_url":"https://cdn.media.ccc.de/events/froscon/2017/opus/froscon17-1911-deu-Reaktive_Programmierung_in_Java_-_mehr_als_eine_Erweiterung_des_Observable-Patterns.opus","url":"https://api.media.ccc.de/public/recordings/18708","event_url":"https://api.media.ccc.de/public/events/dc9b4e9a-edc3-473a-bfde-81fd30604b81","conference_url":"https://api.media.ccc.de/public/conferences/froscon2017"},{"size":89,"length":3701,"mime_type":"video/webm","language":"deu","filename":"froscon17-1911-deu-Reaktive_Programmierung_in_Java_-_mehr_als_eine_Erweiterung_des_Observable-Patterns_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2017-08-20T11:45:06.571+02:00","recording_url":"https://cdn.media.ccc.de/events/froscon/2017/webm-sd/froscon17-1911-deu-Reaktive_Programmierung_in_Java_-_mehr_als_eine_Erweiterung_des_Observable-Patterns_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/18709","event_url":"https://api.media.ccc.de/public/events/dc9b4e9a-edc3-473a-bfde-81fd30604b81","conference_url":"https://api.media.ccc.de/public/conferences/froscon2017"},{"size":85,"length":3701,"mime_type":"video/mp4","language":"deu","filename":"froscon17-1911-deu-Reaktive_Programmierung_in_Java_-_mehr_als_eine_Erweiterung_des_Observable-Patterns_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2017-08-20T11:45:45.426+02:00","recording_url":"https://cdn.media.ccc.de/events/froscon/2017/h264-sd/froscon17-1911-deu-Reaktive_Programmierung_in_Java_-_mehr_als_eine_Erweiterung_des_Observable-Patterns_sd.mp4","url":"https://api.media.ccc.de/public/recordings/18710","event_url":"https://api.media.ccc.de/public/events/dc9b4e9a-edc3-473a-bfde-81fd30604b81","conference_url":"https://api.media.ccc.de/public/conferences/froscon2017"},{"size":195,"length":3701,"mime_type":"video/webm","language":"deu","filename":"froscon17-1911-deu-Reaktive_Programmierung_in_Java_-_mehr_als_eine_Erweiterung_des_Observable-Patterns_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2017-08-20T13:38:43.612+02:00","recording_url":"https://cdn.media.ccc.de/events/froscon/2017/webm-hd/froscon17-1911-deu-Reaktive_Programmierung_in_Java_-_mehr_als_eine_Erweiterung_des_Observable-Patterns_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/18725","event_url":"https://api.media.ccc.de/public/events/dc9b4e9a-edc3-473a-bfde-81fd30604b81","conference_url":"https://api.media.ccc.de/public/conferences/froscon2017"}]}