SpringSource

Spring XD 1.0 Milestone 1 Released

Today we are pleased to announce the 1.0 M1 release of Spring XD  (download).Spring XD is a unified, distributed, and extensible system for data ingestion, real time analytics, batch processing, and data export.  The project’s goal is to simplify the development of big data applications. From the 10,000 foot view, big data applications share many Read more...

Spring XD 1.0.0.M1 released

Dear Spring Community,

The Spring XD team is pleased to announce that the first milestone of Spring XD is now available for download.

Spring XD makes it easy to solve common big data problems such as data ingestion and export, real-time analytics, and batch workflow orchestration. The first milestone implements many features and provides a sizable amount of documentation.

For more information, please see the Project Home Page, the Release Notes and the the blog posting.

We would love to hear your feedback as we continue working hard towards the final Spring XD 1.0.0 release. If you have any questions, please use Stackoverflow (Tag: springxd), and to report any bugs or improvements, please use either the Jira Issue Tracker or file a GitHub issue.

This Week in Spring - June 11, 2013

Hey guys, welcome to another installment of This Week in Spring! This week I'm in New York City, New York, talking to developers at the NYC Java Meetup and at ScalaDays about Spring. We've got a lot of webinars this month, so be sure to check out the details below!

  1. Want a pass to SpringOne 2GX 2013? If you're a Spring champion, show off your stuff on our champions forum and follow these instructions by June 21, 2013. You might be one of our 5 lucky winners! (If you're a Groovy & Grails or Cloud Foundry champion, never fear, we will be rolling out future contests for you!)
  2. Oliver Gierke has announced Spring Data Babbage, the first milestone of the next Spring Data release train. This release includes a lot of new features, so be sure to check out the release note!
  3. Spring Batch 2.2.0 is now available! This is a major release that supports Spring Data, Java Configuration, AMQP, and SQLFire in addition to a number of other features. Spring Batch and our participation in the expert group has heavily informed the JSR-352 specification that recently has been finalized.
  4. Spring Tool Suite and Groovy / Grails Toool Suite 3.3.0 M2 has been released, based on Eclipse Kepler 4.3. This milestone release improves Java Configuration support and is Spring Framework 4 ready.
  5. Craig Walls has announced that Spring Social Twitter 1.0.5 and Spring Social 1.0.3 have been released! The new release fixes a few bugs and is being made available in anticipation of the deprecation of the 1.0 version of the Twitter API.
  6. Gary Russell has also announced the Spring Integration 2.2.4 and 2.1.6 maintenance releases, to incorporate the Spring Social Twitter updates mentioned above.
  7. I'll be doing a webinar on Thursday on RESTful service design with Spring. As usual, there will be two sessions - one at 3PM GMT and one at 10:00AM PST - to accommodate as many timezones as possible. The webinar will introduce Spring's stack for building RESTful services. We'll start with a simple API, then advance the API, introducing Hypermedia controls with Spring HATEOAS, introducing conventions-oriented repository-based APIs with Spring Data REST, security with Spring Security OAuth and Spring Social and addressing common cases like file uploads, exception handling, record paging, and Ajax. I look forward to seeing you there!
  8. Don't miss Jon Brisbin on June 18th, 2013 as he introduces Introducing Reactor - A framework for asynchronous applications on the JVM. Reactor provides a foundational framework for applications that need high throughput when performing reasonably small chunks of stateless, asynchronous processing.
  9. Join Tony Erksine from Liberty University on June 27th as he instructs us How to talk Spring and Influence People, a pragmatic lesson on soft skills and technology adoption strategies needed to help get other developers in your company excited about,a nd using, new technology -- in this case, with Spring.
  10. I gave a talk on the latest at the amazing DevNexus conference in March on Spring 3.1, 3.2, and 4.0 in March, and that talk is now available online on InfoQ. Do check out the talk, but also be sure to check out the more up-to-date version of that deck from my talk at JAXConf available on my SlideShare account.
  11. Head over to the Pivotal Blog for a short primer on Hadoop programming, which walks you through a simple word count program. The example looks at the canonical word-count problem and then looks at other solutions in the ecosystem like Pig, Hive and Cascading. The next blog in the series will introduce Spring for Apache Hadoop for a beginning audience, providing a unified, consistent alternative to the four different methods discussed in this blog post.
  12. In related news, if you're in the New York City area, join me Wednesday evening where I'm giving the same talk at the 10gen offices for the NYCJava meetup. Thanks again go to 10gen, the company behind MongoDB, for hosting the meetup.
  13. The JavaBeat blog has a nice post on how to use Spring's robust multipart file upload support. Spring's support abstracts away common APIs for file uploads - including the commons-fileupload API and the Servlet 3 API - and lets you use those APIs for HTTP miltipart-encoded file uploads, typically in web applications or REST services. Definitely worth a read, check it out!
  14. Idan Fridman put together a rundown on some of the common types of components in Spring Integration, including splitters, transformers, aggregators, and more.
  15. The Spring tutorials blog has a great post introduce Spring's @Async and @Scheduled annotations.

Spring Integration 2.2.4 and 2.1.6 Releases Available

We are pleased to announce the availability of Spring Integration 2.2.4 and 2.1.6 maintenance releases.

Spring Integration's Twitter module uses Spring Social Twitter, which has been updated to version 1.0.5 in anticipation of the Twitter v1.0 API retirement. The Spring Social Twitter 1.0.4.RELEASE [1] and 1.0.5.RELEASE [2] announcements provide more information about the recent updates to that project. For anyone using Twitter search adapters, the underlying search API in v1.1 requires authorization, so you will need to update the configuration for any TwitterTemplate (if not already configured) with authentication details. The Spring Integration Twitter sample application [3] has been updated to reflect this change.

While the Twitter change is the main driver for these Spring Integration releases, they do also resolve a small number of important issues that may be of interest to other users.

Please see the release notes for 2.2.4 [4] and the release notes for 2.1.6 [5] for more information.

While we have provided this important update to the 2.1.x stream in 2.1.6, all users are encouraged to upgrade to 2.2.4.

The project page [6] has links to documentation and downloads and the artifacts are available in the SpringSource maven repository and maven central.

[1]: http://www.springsource.org/spring-social/news/spring-social-twitter-1.0.4-released
[2]: http://www.springsource.org/spring-social/news/spring-social-twitter-1.0.5-released
[3]: https://github.com/SpringSource/spring-integration-samples/tree/master/basic/twitter
[4]: https://jira.springsource.org/secure/ReleaseNote.jspa?projectId=10121&version=14100
[5]: https://jira.springsource.org/secure/ReleaseNote.jspa?projectId=10121&version=14035
[6]: http://www.springsource.org/spring-integration

Spring Social Twitter 1.0.5 released

Dear Spring Community,

I'm happy to announce the release of Spring Social Twitter 1.0.5.RELEASE.

Spring Social is an extension of the Spring Framework that enables you to connect your Java applications to Software-as-a-Service (SaaS) providers such as Facebook and Twitter.

Spring Social Twitter 1.0.5.RELEASE is a bug fix release that addresses a couple of bugs found since 1.0.4.RELEASE. Specifically, the following items have been fixed:

  • Spring 3.0.x compatibility issue when creating a TwitterTemplate using an application token.
  • Improper deserialization of the max_id property in SearchMetadata.

As with the previous release, Spring Social Twitter 1.0.5.RELEASE is being made available in anticipation of the retirement of version 1.0 of Twitter's API, scheduled to take place tomorrow, June 11, 2013.

To get the software, download the release distribution or change the Spring Social Twitter dependency in your build file to reference 1.0.5.RELEASE.

We invite you to discuss this release as well as the continuing work toward Spring Social 1.1.0 in the Spring Social Forum and to report any bugs or improvements in the Spring Social Twitter issue tracker.

First milestone of Spring Data release train Babbage arrived

I am pleased to announce the first service milestone release for the Spring Data release train named Babbage. It includes the following modules: Spring Data Commons 1.6 M1 – Changelog Spring Data JPA 1.4 M1 – Changelog Spring Data MongoDB 1.3 M1 – Changelog Spring Data Neo4j 2.3 M1 – Changelog The first milestone includes Read more...

Spring Batch 2.2.0.RELEASE is now available

We are pleased to announce that Spring Batch 2.2.0.RELEASE is now available via Maven Central, Github and the SpringSource download repository.
Spring Batch Home | Source on GitHub | Reference Documentation Support for Spring Data Spring Data is a collection of projects intended to make it easier to develop Spring-powered applications that use new data access technologies such as non-relational (NoSQL) databases. Based on a model of exposing Repository objects, Spring Data allows applications to access data in a simple and consistent way across many new platforms. Spring Batch 2.2.0.RELEASE provides ItemReader implementations for Neo4J and MongoDB as well as ItemWriter impelementaions for Neo4J, MongoDB and Gemfire. We also have created a RepositoryItemReader and RepositoryItemWriter. Each of these implementations wrap any custom implementation of PagingAndSortingRepository and CrudRepository respsectively. Java Configuration Joining most of the other major Spring projects, with Spring Batch 2.2.0.RELEASE, you will be able to configure your batch jobs via Java config. The @EnableBatchProcessing annotation provides access to not only builders that you can use to construct your batch jobs, but it adds the ability to autowire a number of useful objects (A JobRepository, JobLauncher, JobRegistry, PlatformTransactionManager) with no additional configuration required. Below is an example job configured via the new Java config. @Configuration @EnableBatchProcessing @Import(DataSourceCnfiguration.class) public class AppConfig { @Autowired private JobBuilderFactory jobs; @Bean public Job job() { return jobs.get("myJob").start(step1()).next(step2()).build(); } @Bean protected Step step1() { ... } @Bean protected Step step2() { ... } } The above java config is equivelant to the below XML configuration. <batch> <job-repository /> <job id="myJob"> <step id="step1" .../> <step id="step2" .../> </job> <beans:bean id="transactionManager" .../> <beans:bean id="jobLauncher" class="org.springframework.batch.core.launch.support.SimpleJobLauncher"> <beans:property name="jobRepository" ref="jobRepository" /> </beans:bean> </batch> Non-identifying Job Parameters Running batch jobs that need the same parameters is a common use case. As of Spring Batch 2.2.0.RELEASE, Spring Batch now supports this use case by allowing jobs to accept non-identifying job parameters (parameters that do not contribute to the creation of a new JobInstance). This update did require both code changes as well as updates to the underlying database schema used by the Spring Batch job repository. Fortunately, we have provided a migration script to help with the transition. You can read the details about the migration script in the Getting Started Guide. AMQP support Utilizing the Spring AMQP project, Spring 2.2.0.RELEASE offers support for both reading and writing to AMQP endpoints. SQLFire support Previous versions of Spring Batch provided a number of options for what database to use within the job repository. With the release of Spring Batch 2.2.0.RELEASE, we add support for SQLFire as yet another option for you to store job repository data. Dependency upgrade As part of the ongoing work to keep the dependencies of Spring Batch up to date, we updated batch to support Spring 3.2.x (minimum level of support is now 3.1.2) as well as Hibernate 4 (within the Hibernate based ItemReaders and ItemWriters). Other updates and fixes Beyond all of the new features, we also address many bugs and provided numerous other improvements. The complete list of what has changed between Spring Batch 2.2.0.RELEASE and your current version of Spring Batch can be found here in the changelog. Links Spring Batch Home | Source on GitHub | Reference Documentation

Spring Social Twitter 1.0.4 and Spring Social 1.0.3 Released

Dear Spring Community,

I'm happy to announce the release of Spring Social Twitter 1.0.4.RELEASE and Spring Social 1.0.3.RELEASE.

Spring Social is an extension of the Spring Framework that enables you to connect your Java applications to Software-as-a-Service (SaaS) providers such as Facebook and Twitter.

Spring Social Twitter 1.0.4.RELEASE is being made available in anticipation of the retirement of Twitter API v1.0. Although Spring Social Twitter has supported the v1.1 of the Twitter API since 1.0.3.RELEASE, it required user authorization for all operations. Twitter has since started supporting application authorization (e.g., OAuth 2 Client Credentials Grant) for resources that do not strictly need user authorization (such as search). Spring Social Twitter 1.0.4.RELEASE now offers a new constructor for TwitterTemplate that accepts an application access token for accessing resources that allow application authorization.

In addition, a few minor bugs in the Twitter API binding have been addressed.

In support of the changes in Spring Social Twitter 1.0.4.RELEASE, Spring Social 1.0.3.RELEASE offers a new authenticateClient() method in OAuth2Operations to enable an application to obtain an application access token. This application token can be used to construct a TwitterTemplate through the new constructor.

To get the software, download the release distribution:

We invite you to discuss these releases as well as the continuing work toward Spring Social 1.1.0 in the Spring Social Forum and to report any bugs or improvements in issue tracking (Core | Twitter).

Spring Tool Suite and Groovy/Grails Tool Suite 3.3.0.M2 released

Dear Spring Community,

I am happy to announce the second milestone release 3.3.0.M2 of the Spring Tool Suite (STS) and the Groovy/Grails Tool Suite (GGTS).

Highlights from this milestone build include:

  • 4.x-based distributions now on Eclipse Kepler 4.3 (RC2)
  • ready for Spring 4
  • new and unified "New Spring Project" wizard
  • improved support for JavaConfig-driven Spring projects
  • Groovy-Eclipse now has a smaller install footprint and uses less memory
  • GGTS now includes Grails 2.2.2

Both tool suites ship on top of the latest Eclipse Juno SR2 release as well as on top of the latest Eclipse Kepler 4.3.0.RC2 release candidate. For optimal performance and stability we still recommend the distribution that is based on Eclipse 3.8.2.

The 3.3.0 release is scheduled for July 2013 - shortly after the Eclipse Kepler release.

To download the distributions, please go visit:

Detailed new and noteworthy notes can be found here: STS/GGTS 3.3.0.M2 New & Noteworthy.

Enjoy!

This Week in Spring - June 4, 2013

Welcome to another installment of This Week in Spring. The SpringOne2GX super early bird registration discount expires on June 10th, 2013, so make your arrangements now to secure the discount. Also, we've got three webinars coming up this month, check out the details below. As usual, we've got a lot to cover, so let's get to it!

  1. I'll be doing a webinar on building effective REST APIs with Spring on June 13th. I'll be introducing Spring's deep support for REST services, starting with Spring MVC and moving up the Richardson Maturity Model to incorporate Spring HATEOAS and, ultimately, Spring Data REST. Along the way we'll look at the REST shell, and other concerns like security through OAuth.
  2. Join Jon Brisbin as he introduces Reactor in a webinar on June 18th. Reactor provides a foundational framework for applications that need high throughput when performing reasonably small chunks of stateless, asynchronous processing.
  3. Join Tony Erksine from Liberty University on June 27th as he instructs us How to talk Spring and Influence People, a pragmatic lesson on soft skills and technology adoption strategies needed to help get other developers in your company excited about,a nd using, new technology -- in this case, with Spring.
  4. If you're in the bay area, be sure to check out JAXConf happening right now in Santa Clara. Admission is free and there are some great speakers there. I will be speaking there tomorrow on Spring 4, and Multi Client Development with Spring, so feel free to drop by if you'd like to talk Spring, Cloud Foundry and big-data.
  5. You probably saw Paul Chapman's awesome posts introducing Spring MVC's support for content negotiation last month and this month he's back with a post on content negotiation using Spring MVC views. Be sure to check both of them out, as they provide solid foundations for dealing with content negotiation in the ever increasing paradigm of REST.
  6. Our friend Petri Kainulainen continues his look at Spring Data SOLR and explains how to add custom repository methods to the implementations above and beyond what Spring Data already provides out of the box. This example is in the context of Spring Data SOLR but the approach is generic and works for all the repository implementations.
  7. RabbitMQ ninja Alvaro Videla has done an amazing job introducing RabbitMQ's power in the latest edition of Developer Magazine.
  8. Every now and then I run into old but cool content, like this project demonstrating how to build a Spring MVC application with Scala. As you might imagine, there's not much difference between Scala and Java, but this is nonetheless an interesting example. Check it out.
  9. I've been knee deep in REST, in preparation for my upcoming webinar, and I stumbled upon a great, albeit older, post by Apache Shiro PMC member and REST-ninja Lez Hazelwood on providing good client feedback on errors with REST in Spring MVC.
  10. Spring HATEOAS lead and Spring Data ninja Oliver Gierke did an amazing talk introducing Spring HATEOAS at Oredev last year and it's available online. Definitely be sure to check it out!
  11. Our pal Nicolas Fränkel is back, this time with a short rant on how to approach modularity in Spring configuration.
  12. JavaBeat has a nice post on how to handle themes in Spring MVC.
  13. The BitwiseOR blog has a nice post on how to setup a simple, working Spring MVC application.
  14. Alexey Zvolinskiy put together a nice, complete-with-code, post on how to use Spring Data JPA to build an application.
  15. David, from The small world for Yiyi blog, has put together a nice post on using PDF, XML and JSON from Spring MVC.
  16. Our pal Johnathan Mark Smith is back, this time with another video introducing how to use Spring's Java configuration

Resistance Is NOT Futile: How to talk Spring and Influence People

Start: 2013-06-27 10:00 End: 2013-06-27 11:00 Timezone: US/Pacific Start: 2013-06-27 10:00 End: 2013-06-27 11:00 Timezone: US/Pacific .event-nodeapi, .submitted {display:none}

Sure the new features coming out in Spring Framework 4.0 are super exciting, but what about those of us that are still explaining dependency injection to our junior developers? And while Spock, Geb, and spring-test-mvc are revolutionizing our ability to test applications, what about the senior developers that are still justifying the value of unit testing to their managers. Strong technical leadership can overcome the organizational inertia that often resists your team's adoption of Spring technologies. Improve your leadership skills by drawing from lessons that were learned during the process of migrating Liberty University’s software development department from “cut-and-paste coding” in ColdFusion to enterprise grade application development on the Spring Framework. Learn to plan an effective technology adoption strategy that avoids “new technology overload” and balances the pace of technology improvement with the necessity to continue production. Relationships with managers, junior developers, and production system administrators will all be important. Gain a better understanding of nontechnical managers and explore strategies for providing the context they need to make the right decisions. Examine ways to build mentoring plans for your junior developers that include but extend beyond training and certifications from SpringSource University so that you can spend less time teaching and more time coding.

Speaker: Tony Erksine, Liberty University

Europe: Thursday, June 27
3:00pm GMT Summer Time (London, GMT+01:00)
Register

North America: Thursday, June 27
10:00am Pacific Daylight (San Francisco, GMT-07:00)
Register

SpringSource Training Schedule: June 2013

If you are a Java developer looking to increase your Spring knowledge, vFabric Education by SpringSource is the place to start. We are providing several Spring trainings across the globe closely connected to your needs as a professional developer.

This month SpringSource offers a 15% discount code on all VMware trainings (partners not included). Please use the following referral code during the website registration process: springcustomerpromo. The complete Spring training schedule for July, 2013 can be found below:

Step 1: Core Spring

Americas

Asia Pacific

Europe, Middle East & Africa

Step 2: Spring Web / Enterprise Integration with Spring / Hibernate with Spring

Americas

Asia Pacific

Europe, Middle East & Africa

If you cannot find a professional training near you, you can always request an onsite SpringSource training

Content Negotiation using Views

In my previous post I introduced the concept of content negotiation and the three strategies Spring MVC uses to determine the content requested. In this post I want to extend the concept to supporting multiple views for different content-types using the ContentNegotiatingViewResolver (or CNVR). Quick Overview Since we already know how to setup content-negotiation from Read more...

New and Existing Spring Champions can enter to win free passes to SpringOne2GX 2013

Start: 2013-05-30 04:59 End: 2013-06-21 04:59 Timezone: US/Pacific Start: 2013-05-30 04:59 End: 2013-06-21 04:59 Timezone: US/Pacific .submitted, .event-nodeapi {display:none}

Want a pass to SpringOne 2GX 2013?

If you're a Spring champion, show off your stuff on our champions forum and follow these instructions by June 21, 2013.

You might be one of our 5 lucky winners. See website for details.

(If you're a Groovy & Grails or Cloud Foundry champion, never fear, we will be rolling out future contests for you!)

Introducing Reactor - A framework for asynchronous applications on the JVM

Start: 2013-06-18 10:00 End: 2013-06-18 11:00 Timezone: US/Pacific Start: 2013-06-18 10:00 End: 2013-06-18 11:00 Timezone: US/Pacific .event-nodeapi, .submitted {display:none}

The sheer volume of non-human-generated data in modern applications can easily overtake a traditional single-threaded, blocking design model. Reactor aims to address this volume, by providing a foundational framework for JVM applications -- applications that need high throughput when performing reasonably small chunks of stateless, asynchronous processing. Join Jon Brisbin as he discusses the motivations behind the project, the design patterns and existing technology that inspired the project, and how it fits in the asynchronous ecosystem today, as a teaser to his upcoming session at SpringOne 2GX 2013.

Europe: Thursday, June 18
3:00pm GMT Summer Time (London, GMT+01:00)
Register

North America: Thursday, June 18
10:00am Pacific Daylight (San Francisco, GMT-07:00)
Register

This Week in Spring - May 28, 2013

Welcome to another installment of This Week in Spring. In case you missed it last week, the vast majorty of the SpringOne2GX 2013 agenda has been published, so book now and get the early bird rate on the conference, and airfare! As usual, we've got a lot to cover this week, so let's get to it!

  1. Spring Batch lead Michael Minella announced Spring Batch 2.2.0 RC2. The new release is chalk full of great new features including support for the Spring Batch Java configuration API and a Spring Data GemFire ItemReader and ItemWriter.
  2. Gary Russell just announced Spring Integration 3.0 milestone 2. Be sure to check out the new features and kick the tires!
  3. Join me for a webinar on Building REST-ful Services with Spring - June 13th, 2013. I'll discuss OAUTH, Spring MVC and Spring HATEOAS as it relates to REST.
  4. Rossen Stoyanchev's blogged about the upcoming support for WebSockets in Spring 4 and it looks very compelling!
  5. Gary Russell also just announced the Spring Integration MQTT extension adapter, milestone 1, that makes it easy to work with MQTT - a messaging technology that lends itself to lightweight messaging - from Spring Integration.
  6. Oliver Gierke has written up a great response to the question, how do I return a Spring Data page as JSON on Stack Overflow.
  7. Long-time readers of this roundup will know about Thymeleaf, the templating engine that breathes new life into your web application view templates and that works really well with Spring. The first, stable 2.0.0 version of Thymeleaf-testing has just been released.
  8. Joris Kuipers, on the Trifork blog, has announced a new set of macros for doing form inputs with Spring applications using Freemarker, an alternative - and very powerful - templating engine.
  9. Oleg Tsal-Tsalko put together a talk on the new bits in Spring 4. Nicely done, Oleg!
  10. Johnathan Mark Smith is back at it again, this time with a video on how to do Java configuration with Spring. Check it out!
  11. Maciej Walkowiak put together a great post on how to audit entities using Spring Data MongoDB.
  12. The poorly-named Java2J2EE blog has a great, short-and-sweet post on how to setup JPA and Spring MVC with Spring's Java configuration style. I would however discourage users from calling the lifecycle methods on a Spring FactoryBean directly, and instead choose to dereference the configured result: @Bean public EntityManagerFactory emf(){ LocalContainerEntityManagerFactoryBean lcemfb = .. return lcemfb; } @Bean public PlatformTransactionManager transactionManager(){ EntityManagerFactory emf = emf().getObject(); return new JpaTransactionManager( emf ); }

Building REST-ful services with Spring

Start: 2013-06-13 10:00 End: 2013-06-13 11:00 Timezone: US/Pacific Start: 2013-06-13 10:00 End: 2013-06-13 11:00 Timezone: US/Pacific

Today's applications don't exist in isolation. REST applications and web services are a great way to connect applications together. REST is a design principle that imposes no constraints on the client except basic HTTP support, which all platforms provide. Designing REST services, however, is still as much art as it is science, as standards are emerging. Join Spring Developer Advocate Josh Long as he introduces some of the ins-and-outs of REST API design with Spring, building on Spring MVC, Spring HATEOAS and answers some commonly- asked questions like how to secure REST-ful services, and how to tailor payload serialization to your specific use cases.

Europe: Thursday, June 13
3:00pm GMT Summer Time (London, GMT+01:00)
Register

North America: Thursday, June 13
10:00am Pacific Daylight (San Francisco, GMT-07:00)
Register

Spring Framework 4.0 M1: WebSocket Support

As you may have seen, the first milestone of Spring Framework 4.0 was already announced and with it we've released early WebSocket support. Why WebSocket matters? It enables efficient, two-way communication over the web that is essential in applications where messages need to be exchanged between client (typically browser) and server at high frequency and Read more...

Seiten