Webinar Replay: Stream Processing in the Cloud with Data Microservices

News | Pieter Humphrey | March 30, 2016 | ...

Speakers: Marius Bogoevici, Pivotal

The future of scalable data processing is event-driven microservices! They provide a powerful paradigm that solves issues typically associated with distributed applications such as availability, data consistency, or communication complexity, and allows the creation of sophisticated and extensible data processing pipelines.

Building on the ease of development and deployment provided by Spring Boot and the cloud native capabilities of Spring Cloud, the Spring Cloud Stream project provides a simple and powerful framework for creating event-driven microservices…

The Spring Boot Dashboard in STS - Part 5: Working with Launch configurations

Engineering | Martin Lippert | March 29, 2016 | ...

Welcome back Spring community,

in this fifth part of the series we will take a closer look at the new support for multiple launch configurations that was added to the Spring Boot Dashboard in STS 3.7.3.

Multiple launch configs per project

The first version the boot dashboard allowed you to quickly start and stop a local Spring Boot app. Therefore the boot dashboard focused on one specific launch configuration for the project - and completely ignored other launch configs. But having multiple launch configurations per project can be extremely useful, for example to start the same app multiple times in slightly different configurations.

The new version of the boot dashboard directly integrates the concept of launch configs. If you have multiple launch configs for the same project, they will show up in the boot dashboard as entries below the project node in the tree.

You can now use all the various actions and features of the boot dashboard on individual launch configs (instead of the project). You can start individual launch configs, stop them, jump to their console, open a browser for the running app, tag them, filter them, and so on. The project node serves an an aggregate for the launch configs. If you want to start or stop all launch configurations, just press start or stop on the project and all launch configs will be started or stopped.

To help you deal with multiple launch configurations the boot dashboard also has a few new actions for working with launch configurations, like open the launch config editor, duplicate an existing launch config, or delete one.

Hide launch configs

To keep the simple things simple, the boot dashboard doesn’t show an entry for a launch config for a project if there exists only one for that project. You can change that setting, if you want to, via a setting in the boot dashboard view menu:

There might be situations where you have specific launch configurations that should not show up in the boot dashboard - to keep the boot dashboard clean and easy to use. Therefore we added an option to hide individual launch configurations from the boot dashboard. You can find the switch for that if you open the launch config.

Conclusion

This concludes the blog series on the new features of the Spring Boot Dashboard in the Spring Tool Suite 3.7.3. Let us know about your experiences using the dashboard and provide feedback. We are happy to hear about your experiences by commenting on this or file a bug report at: https://issuetracker.springsource.com/browse/STS.

The Spring Boot Dashboard blog series:

SpringOne2GX 2015 replay: A Spring Developer's Guide to Social Integration

News | Pieter Humphrey | March 29, 2016 | ...

Recorded at SpringOne2GX 2015. Speaker: Craig Walls Data / Integration Track Slides: http://www.slideshare.net/SpringCentral/spring-developers-guide-to-social-integration There's an internet full of services ready to be plugged into your Spring applications. These services offer a wealth of information about the users of your application, including information about their interests, places they travel to and visit, their friends, family, and colleagues, and even what temperature they like to keep in their home. All you need to do is tap into it.

In this session, you'll see how to use…

SpringOne2GX 2015 replay: Developing Real-Time Data Pipelines with Apache Kafka

News | Pieter Humphrey | March 29, 2016 | ...

Recorded at SpringOne2GX 2015. Speaker: Joe Stein Big Data Track Slides: http://www.slideshare.net/SpringCentral/developing-realtime-data-pipelines-with-apache-kafka-53201942 Developing Real-Time Data Pipelines with Apache Kafka http://kafka.apache.org/ is an introduction for developers about why and how to use Apache Kafka. Apache Kafka is a publish-subscribe messaging system rethought of as a distributed commit log. Kafka is designed to allow a single cluster to serve as the central data backbone. A single Kafka broker can handle hundreds of megabytes of reads and writes per second from…

Spring AMQP 1.6.0 Milestone 2 (and 1.5.5) Available

Releases | Gary Russell | March 25, 2016 | ...

We are pleased to announce the second milestone of Spring AMQP 1.6 is available.

Additions since the first milestone include:

  • The caching connection factory now exposes cache statistics

  • @RabbitListener methods now communicate type information to the message converter for inbound messages. This means, for example, the Jackson2JsonMessageConverter no longer needs a custom class mapper when a message without type information in the headers is received (e.g. from a sender that is not a Spring AMQP app). Instead, the @RabbitListener method parameter type is used in the conversion. In addition, the Method and bean are also made available via message properties to custom converters.

Spring Security 4.1.0.RC1 Released

Releases | Rob Winch | March 24, 2016 | ...

On behalf of the community, I'm pleased to announce the release of Spring Security 4.1.0.RC1. This release resolved over 100 tickets. You can find some of the highlights below:

Contributions

Spring Cloud Brixton.RC1 is now available

Engineering | Spencer Gibb | March 24, 2016 | ...

On behalf of the team, I am pleased to announce that the first release candidate for the Spring Cloud Brixton Release Train is out. The milestone is available today and can be found in our Spring Milestone repository.

Highlights

Some of the highlights of the Brixton Release Train are:

  • Spring Boot 1.3.x and Spring 4.2.x support
  • Cluster Leadership election and locks via Spring Cloud Cluster
  • Hashicorp Consul support for service registration/discovery & configuration via Spring Cloud Consul
  • Apache Zookeeper support for service registration/discovery, configuration via Spring Cloud Zookeper and leader election in Spring Cloud Cluster
  • Distributed tracing through the Spring Cloud Sleuth abstraction with two out of the box implementations: one supporting logging (ideal for log collectors and multiplexers like Logstash and Loggregator) and one supporting Twitter's Zipkin
  • Netflix Atlas Telemetry System and the next generation Spectator Metrics library

Spring Cloud Stream 1.0.0.RC1 is now available

Releases | Marius Bogoevici | March 23, 2016 | ...

On behalf of the team, I am pleased to announce that the first release candidate for Spring Cloud Stream is out. As the last milestone before 1.0.0.RELEASE, it stabilizes the APIs, and comes with a number of new features and bug fixes, in the area of tooling support, and content type management. Here is a highlight of the most important changes:

Binder and binding property restructuring

The configuration for binders and bindings has changed to a model friendlier to Spring Boot configuration metadata. Now all the configuration properties (including binding-specific properties) support…

The Spring Boot Dashboard in STS - Part 4: Working with Cloud Foundry manifest files

Engineering | Martin Lippert | March 22, 2016 | ...

Welcome back Spring community,

the latest release 3.7.3 of the Spring Tool Suite introduces a number of new features around the Spring Boot Dashboard. Therefore we continue the blog post series that started last year and introduced you to the new way of working with Spring Boot based microservice projects in your IDE (you can find links to the previous parts at the bottom).

Cloud Foundry manifest files

In this new part of the series we take a closer look at Cloud Foundry manifest files. They are a Cloud Foundry concept used as a shortcut to define configurations for applications on Cloud Foundry. Instead of passing every argument and configuration to the command line when doing a “cf push”, you can put all your configuration data into a YAML file and pass that to the push command instead. More detailed information about Cloud Foundry Manifest files can be found here.

The early versions of the Spring Boot Dashboard already used the manifest files for deploying an app to CF if a file called “manifest.yml” existed in the project. This was done “under the hood” for your convenience. That was nice and useful. But it also caused confusion due to the “hidden nature” of this support.

Choose a manifest file when deploying an app

The new version of the Spring Boot Dashboard supports Cloud Foundry manifest files as a first-class citizen. This starts to show up when you deploy an application from within the Boot Dashboard to a Cloud Foundry target for the first time. A dialog comes up and asks you which manifest file should be used for this deployment operation.

This dialog allows you to select the manifest file you would like to use to deploy the app. This also allows you to have multiple manifest files in your projects - for example for different spaces on Cloud Foundry or different deployment environments. You can also deploy the same app multiple times to the same Cloud Foundry target by choosing a different manifest file for each deploy operation.

The dialog shows the content of the selected manifest file, so that you can verify that you selected the correct one. And if something is wrong inside of the manifest file, you don’t need to go back to the main IDE workbench, open the file, edit it, save it, and go back to the deploy operation. Instead edit the manifest file content directly within the dialog. This makes deploying an app to Cloud Foundry really easy.

The boot dashboard will remember your choice and use the same manifest file again if you update your project on Cloud Foundry. That also means that changes to the manifest file will be taken into account the next time the app is re-deployed to Cloud Foundry (during a boot dashboard restart operation, for example).

Of course you can change your mind and decide to choose a different manifest file. An action in the context menu allows you to open the same “choose the manifest file” dialog and make a different choice. The next redeploy of the app will take that change into account. You can also use this dialog to quickly check which manifest file is currently associated with the project.

Deploying without a manifest file

Sometimes you don’t already have a manifest file or you don’t want to use an existing manifest file. In that case you can choose the “manual mode” in the dialog.

It opens up an editor area for a temporary manifest file and fills that with some default content. You can edit this temporary manifest content, add properties or change existing ones. This allows you to completely define the way the app should be deployed to Cloud Foundry.

The content of that temporary manifest is not stored anywhere (we may add a convenience option to quickly save the manually entered manifest content to a new file) and the IDE doesn’t remember it for the next time you update the application on Cloud Foundry. Instead the existing configuration on Cloud Foundry will be kept and used while updating the application.

This is also true if you have used a manifest file in the past and then decided to switch to the manual mode. Subsequent updates to the application will keep the configuration on Cloud Foundry untouched.

Changed configurations on CF

Let’s imagine you have used a manifest file to deploy your application from within the boot dashboard to Cloud Foundry. Then you go to the web console and add a service to the already deployed app - or change the memory settings, scale it up, or do similar changes to the configuration. If you go back to the boot dashboard, maybe change some code of the app, and restart (and therefore update) the app on Cloud Foundry, the boot dashboard would use the manifest file again - and trash all the changes to the configuration that you made on CF. To avoid this, the boot dashboard checks for configuration changes on Cloud Foundry when re-deploying an application that uses a manifest file. If a configuration mismatch is found, it opens up a diff and merge dialog - and displays the detailed changes.

This feature prevents you from override configuration changes by accident. And it is a powerful dialog that lets you merge configuration changes on CF to your local manifest file. You can merge individual changes as well as all changes at once. That makes it easy to update the local manifest file with those changes and you can continue to use the manifest file when updating the application in the future.

In case you don’t want those configuration changes on CF to be reflected in your local manifest file, select the “forget manifest” button and the boot dashboard will keep the configuration on Cloud Foundry as it is. It switches the application to the “manual mode” deployment.

Again, if you would like to explicitly change those settings, go to the context menu and choose the “select manifest” operation.

Editing manifest files

While the Cloud Foundry manifest files are a nice and clean way to configure your application for Cloud Foundry, it can be cumbersome to edit those files. Luckily the new version of the Spring Tool Suite comes with a specialized editor for Cloud Foundry manifest files.

It provides nice content-assist for property names and selected property values.

If you hover over the properties, you get additional help about the property and examples how and when to use it.

The file is also validated while typing. Reconcile errors are showing up directly in the editor in the same way they do in Spring Boot property files or when editing Java code.

And the good news is: this advanced editing support is available in the “select the manifest file” dialog, too (for example when working on the manual manifest or changing the selected manifest file content):

Coming up

The next part of this blog series will cover the new support for working with multiple launch configurations for local Spring Boot applications. Stay tuned.

The Spring Boot Dashboard blog series:

If you happen to be in Barcelona mid May (never a bad time to be in Barcelona anyway!), don't miss the chance to join the Spring I/O conference where I'll be presenting on the latest and greatest in Spring in general. Also, the registration for SpringOne Platform (early August, Las Vegas) has opened recently, in case you want to benefit from early bird ticket pricing.

This Week in Spring - March 22nd, 2016

Engineering | Josh Long | March 22, 2016 | ...

Welcome to another installation of This Week in Spring! As usual, we've got a lot to cover so let's get to it! This week I'm supposed to be in Paris and Belgium. Unfortunately, because of the recent, tragic, disgusting and cowardly attacks on the Brussels airport and metro, I am not entirely sure about whether I'll be in Belgium physically. Tonight's meetup talk, however, will carry on remotely, via streaming. Stay tuned to my Twitter handle - @starbuxman for more.

That said, there's a lot of great content so let's get to it!

Get the Spring newsletter

Stay connected with the Spring newsletter

Subscribe

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all