Spring-AMQP 1.1.4.RELEASE is now Available

Releases | Gary Russell | March 05, 2013 | ...

We are pleased to announce that Spring-AMQP 1.1.4.RELEASE is now available.

This is a minor maintenance release with fixes to a few minor issues in the AMQP Log4j Appender, as well as correcting an issue in the spring-rabbit manifest for OSGI users.

Release notes can be found here.

The project home page is here, where you can find links to documentation, downloads and APIs.

Spring at China Scale: Alibaba Group (Alipay, TaoBao, and TMall)

Engineering | Josh Long | March 04, 2013 | ...

So What Does It Take to Operate at China Scale?

Some of the companies of the Alibaba group

The challenges inherent to building enterprise applications that meet China-scale demand are unparalleled. One exemplary Chinese organization using Spring heavily to solve very unique challenges is the Alibaba group. Alibaba is itself an online auction site, like eBay in the west. The Alibaba group in turn owns a few other online service companies, like Alipay (a secure transaction processor, like PayPal in the west), TaoBao (a comparison shopping engine, like Shopzilla in the west), and TMall (an e-tailer, exposing the catalogues of merchants, like Amazon in the west).

From the InfoQ article, "on 11 November, 2012 (the Double Sticks promotion day), Tmall and Taobao witnessed 147 million user visits, purchases of 30 million people and nearly 100 million paid orders. At 0:00, more than 10 million users were concurrently online." The "double sticks promotion day" is celebrated as a sort of day to honor the single people out there. People make blind-dates, attend speed-dating events, and - somewhat like cyber monday shopping in the US - look for good deals from merchants. TaoBao reported USD $3 billion dollars for a single 24 hour period

This Week in Spring - Feb 26th, 2013

Engineering | Josh Long | February 27, 2013 | ...

Welcome to another installment of This Week in Spring! It's been an exciting two weeks for Hadoop content - Hadoop enthusiasts should check last week's post for an HD quality replay of Building Big Data Pipelines with Spring Hadoop from SpringOne 2GX 2012.

  1. Costin Leau has announced that Spring for Apache Hadoop 1.0 has gone GA!
    	This marks the end of a year in development from the time of the first betas.  There's a lot in this release. For  more information, check out  the blog. </LI>
    
    <LI>Did you guys hear about yesterday's announcement from <A href="http://www.greenplum.com/blog/topics/hadoop/introducing-pivotal-hd">about Pivotal HD, a Hadoop distribution which performs better than the competition, provides a true SQL interface, and features extra tools</a> (like an admin console and an installation, configuration and management facility) and is bundled with Spring for Apache Hadoop? 
    

    The release was in the news a lot yesterday. Here's a nice post on GigaOm, another on
    CIO , and yet another on CRN and another still on Silicon Angle

SpringOne 2GX 2012 Replays: Getting started with Spring Data and Distributed Database Grids + Whoops, where did my architecture go

News | Pieter Humphrey | February 26, 2013 | ...

Getting started with Spring Data and Distributed Database Grids

Alternative data persistence approaches are all the rage these days. Transitioning our skill sets and legacy applications to these new and promising technologies though can be problematic. Spring Data is an exciting solution to persistence proliferation. It brings the flexibility and familiarity of the Spring Framework and adds the concepts of Repositories which allow developers to write their programs to using familiar methods such as save, update, delete, and dynamic finders.

In this presentation we will introduce Spring Data for GemFire and how it leverages your existing Spring Framework skills to create generic Spring style interfaces which will make it more efficient to transition to distributed data grids such as GemFire.


About the speakers

Mark Johnson

Mark Johnson

Mark Johnson is a Staff System Engineer at VMware where he focuses on helping people learn more about SpringSource technologies and they can aid enterprise applications.

Mark has worked on a wide range of technology during his career. Most recently he has focused on Groovy, Grails, and Scala as technologies which enable high quality applications quickly.

Mark is active in the software community as the President of the New England Java Users Group (NEJUG) and a regular presenter to user groups and various conferenes. When not working, Mark can be found riding his mountain bike on local trails and playing with his family

More About Mark »

David Turanski

David Turanski

David Turanski is a Senior Software Engineer with SpringSource, a division of VMWare. David is a member of the Spring Data team and lead of the Spring Data GemFire project. He is also a committer on the Spring Integration project. David has extensive experience as a developer, architect and consultant serving a variety of industries. In addition he has trained hundreds of developers how to use the Spring Framework effectively.

More About David »


Whoops! Where did my architecture go?

When applications grow bigger, modularity becomes a key aspect regarding maintainability. Design decisions made in the early days are hardly discoverable in the codebase, inter-module dependencies grow a lot. The talk introduces means and approaches to connect logical architecture to the codebase. Beyond that we discuss patterns and best practices around general code organization, package structures to build a solid foundation for Java applications and in how far Spring can help creating loosely coupled components and dedicated points to extend applications.




About the speaker

Oliver Gierke

Oliver Gierke

Oliver Gierke is engineer at SpringSource, a division of VMware, project lead of the Spring Data JPA module and involved into other Spring Data modules (e.g. MongoDB) as well. He has been into developing enterprise applications and open source projects for over 6 years now. His working focus is centered around software architecture, Spring and persistence technologies. He is regularly speaking at German and international conferences as well as author of technology articles.

More About Oliver »

Spring for Apache Hadoop 1.0 Goes GA

Engineering | Costin Leau | February 26, 2013 | ...

We are happy to announce the first GA release (1.0) for Spring for Apache Hadoop, almost one year to the date from the release of its first milestone release. During that time we have incorporated a great deal of your feedback to drive the road-map, so thanks everyone from the community who have helped! While new features have been added over the year, the goal of Spring for Apache Hadoop remains the same, to simplify the development of Hadoop based applications.

Download it now, or view the maven artifacts here.

Simplified Programming Model & Consistency

What we have observed is that using the standard out of the box tools that come with Hadoop, you an easily end up with Hadoop applications that are poorly structured collection of command line utilities, scripts and pieces of code stiched together. The different origins of the various projects in the Hadoop ecosystem, such as Hive and Pig focusing on declarative usage or Cascading and HBase for a programmatic angle, have led to different approaches to configuration and API designs.

 

Spring for Apache Hadoop provides a consistent programming and configuration…

This Week in Spring - Feb 19th, 2013

Engineering | Josh Long | February 19, 2013 | ...

Welcome back to another installment of This Week in Spring! This week I'm in Atlanta, GA with a few other SpringSource colleagues talking to developers at the DevNexus Java conference and - tomorrow - speaking at the Atlanta Spring User Group. This show is bigger and better than ever this year! I love the energy and community here.

If you're in Atlanta, GA, drop by the eHire labs (see the link above for the address) tomorrow night for the Spring User Group and we'll talk about REST, Spring MVC, Spring for Android, Spring Mobile, and more! I look forward to seeing you.

As usual, though, we've got a lot to cover, so let's get to it!

  1. The Spring Data release train "Arora" is now avialable, a synchronized, tested release of all Spring Data sub projects - check it out now!
  2. Craig Walls has announced that Spring Social 1.1.0.M2 has been released ! The new release incorporates tighter integration with Spring Security and a slew of new features.
  3. Jeremy Grelle has announced When.js 1.8.0 which is cujojs's lightweight Promises/A implementation.
  4. <LI>  Gary Russell <a href  = "http://www.springsource.org/node/3813">has announced Spring Integration 3.0.0 M1</a>. 
     There are no major new features in this first milestone, it is mainly refactoring, removing deprecations, etc. Browse the documentation 'what's new' and the release notes for more information.
    
    		 
    
  5. Register now to talk with Sam Brannan and Rossen Stoyanchev on Feb 21st in the Webinar: Testing Web Applications with Spring 3.2
  6. New replays from SpringOne2012 - talks from the Data and Integration track talks starting to hit YouTube. Check out Gary Russell's Monitoring and Managing Spring Integration Part 2, and Hadoop / Big Data enthusiasts shouldn't miss Costin's talk How to build Big Data Pipelines for Hadoop using OSS.
  7. As a bonus session this week, we've also released Spring Data REST: Easily export JPA entities directly to the web.
  8. Krishna's blog has a nice post on using CAS (single signon using Jasig) with Spring Security.
  9. Sergei Sizov has put together a nice post on using Spring Security and HTTP Basic authentication.
  10. The Lucky Ryan blog has a very nice post introducing HDIV - which can be used to prevent cross site request forgery (CSRF), remove the ability to alter non-editable data (hidden fields, params…) and even has options to limit characters globally across form fields - and explaining how to use HDIV with Spring MVC.
  11. Your remoting layer (the layer that's exposed over the network) might simply surface the domain model objects from your services layer. Often, however, the object sent across the wire is a slightly different version of the data used by the service. Perhaps fields are omitted because they contain too much data. Perhaps extra fields are added to communicate metadata about the service itself. Perhaps you simply want to flatten two different types into a single object for ease-of-transport. Whatever the reason, the common pattern (or anti-pattern) to handling this is a DTO (data transfer object). We had these before with EJBs and DCOM and CORBA. Now we have them with REST. If you find you have to have DTOs, the jtransfo library introduced in this post seems like it might be helpful in reducing the tedious adapters from DTO to domain object. The post explains how to use JTransfo to automatically handle adapting domain objects to DTOs.
  12. The Fahd.blog blog has a nice introduction to Spring Batch's RetryTemplate. This is a very powerful component of Spring Batch that doesn't get enough love, so I am glad to see this post!
  13. The Learn and Shine blog has a nice post introducing how to use Spring MVC to render XSLT views.
  14. The Java Ninja Chronicles By Norris Shelton, Jr blog has a very concise post on how he took the first steps in using Spring's Java configuration style to make short work of loading properties from an exotic source.

SpringOne 2GX 2012 Replays: Monitoring and Managing Spring Integration, Building Big Data Pipelines with Spring Hadoop

News | Pieter Humphrey | February 19, 2013 | ...

In this presentation we will discuss the options for managing and monitoring applications that use Spring Integration. It will provide a comprehensive overview of the extensive support for JMX provided by Spring Integration, both in terms of providing access to Spring Integration internals, as well as creating a JMX client to interact with local and remote MBeanServers.

In addition, we will show how to use the Spring Integration plugin for Spring Insight to drill down into Spring Integration flow processing to examine application performance.

Topics include:

  • Using the Integration MBean Exporter, and the MBeans it registers, for analyzing Messaging Endpoints and Channels.
  • Exporting the Integration MBean Exporter itself as an MBean, to gain access to it's attributes and operations.
  • Using the Control Bus to start and stop endpoints.
  • Using the Spring Integration plugin for Spring Insight to get a real-time view of your application and its performance.
  • Enabling and using Message History
  • Using the orderly shutdown mechanism available in Spring Integration 2.2.
  • Using JMX endpoints (with local and remote MBeanServers) to monitor attributes. invoke operations, publish notifications, and receive notifications.


About the speaker

Gary Russell

Gary Russell

Gary has been in software engineering, concentrating on Enterprise Integration, for over 30 years on various platforms, and in the Java space since the late '90s.

He has been developing with the Spring Framework since 2004 and joined SpringSource/VMware in 2009 in a consulting role. From 2009 until the end of 2011 he taught Core Spring and Enterprise Integration with Spring to several hundred developers, as well as providing Enterprise Integration consulting services with Spring Integration, Spring Batch and Core Spring.

He has been a committer on the Spring Integration project for nearly 3 years and became a full time member of the engineering team in January 2012.

More About Gary »

How to build Big Data Pipelines for Hadoop using OSS

Hadoop is not an island. To deliver a complete Big Data solution, a data pipeline needs to be developed that incorporates and orchestrates many diverse technologies. A Hadoop focused data pipeline not only needs to coordinate the running of multiple Hadoop jobs (MapReduce, Hive, Pig or Cascading), but also encompass real-time data acquisition and the analysis of reduced data sets extracted into relational/NoSQL databases or dedicated analytical engines.

This session looks at the architecture of Big Data pipelines, the challenges ahead and how to build manageable and robust solutions using Open Source software such as Apache Hadoop, Hive, Pig, Spring Hadoop, Batch and Integration.



About the speaker

Costin Leau

Costin Leau

Costin Leau is an engineer within the SpringSource. His interests include data access and aspect oriented programming. With significant development experience, Costin has worked on various Spring Framework features (cache abstraction, JPA, java config), led the Spring Dynamic Modules (Spring OSGi probject), Spring GemFire and the Spring-inspired, OSGi 4.2 Blueprint Service RI. Currently Costin is working in the NOSQL and Big Data area, leading the Spring integration with Hadoop and Redis.

More About Costin »


Spring Integration 3.0.0 Milestone 1 is Released!

Releases | Gary Russell | February 15, 2013 | ...

We are pleased to announce that Spring Integration 3.0.0.M1 is now available. There are no major new features in this first milestone, it is mainly refactoring, removing deprecations, etc. Browse the documentation 'what's new' and the release notes for more information.

We are happy to see more community contributors and are continuing our efforts to promote that growing trend, both in the core project and the extensions respository.

More information is available on the project's home page.

When.js 1.8.0 Released

Releases | Jeremy Grelle | February 14, 2013 | ...

Dear Spring Community,

We are pleased to announce the release of when.js 1.8.0.

When.js is cujojs’s lightweight Promises/A and when() implementation, derived from the async core of wire.js, cujojs’s IOC Container. It also provides several other useful Promise-related concepts, such as joining multiple promises, mapping and reducing collections of promises, and timed promises.

Among other things, this release includes an extensive set of adapters for working with existing callback-based APIs, including node-style async APIs, allowing you to effectively convert them into promise-aware functions. In addition, most of the new features in this release are community contributions, which is awesome. Keep it coming!

Some specific highlights include:

  • Adapters for promisifying existing callback-based code.
  • Mechanisms for generating and processing unbounded/infinite lists
  • Promise-based periodic polling utility.

Check out the changelog for more info and direct links to docs for all the new goodies.

If you're still wondering what this cujojs thing is all about, be sure to check out Brian Cavalier and John Hann's "IOC + JavaScript" talk from SpringOne 2012.

Spring Social 1.1.0.M2 Released

Releases | Craig Walls | February 13, 2013 | ...

Dear Spring Community,

We are pleased to announce the second milestone release of Spring Social 1.1.0!

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.

Along with Spring Social 1.1.0, we are also releasing second milestones for Spring Social Facebook 1.1.0 and Spring Social Twitter 1.1.0.

The main theme of milestone 2 is tighter integration with Spring Security, including a new SocialAuthenticationFilter to achieve sign-in-with-provider capability directly within the Spring Security filter chain.

In addition to Spring Security integration, these milestone releases also include:

  • Support for non-standard parameters in the OAuth authorization flows.
  • Interceptor capability in ProviderSignInController's flow to allow for custom behavior in authentication flow.
  • Sign-in capability for Facebook Canvas applications, including a new spring-social-canvas sample to showcase the use of CanvasSignInController.
  • Support for paging in the Facebook API binding with "since" and "until" parameters.
  • Advanced search capabilities in the Twitter API binding.
  • Support for ticker symbol pseudo-entity in Twitter statuses.

These milestone releases also contain several smaller improvements and bug fixes.

To get the software, download the release distribution (Core | Facebook | Twitter).

As always, the Spring Social community has been awesome at providing feedback and contributing pull requests to make this release possible. Significant contributions in this release came from Stefan Fussenegger, who contributed much of the Spring Security integration code and Yuan Ji who provided feedback and refactoring help in that same set of code. Also, it seems that the Spring Social community has taken a keen interest in using Spring Social to build Facebook Canvas apps, which led to the creation of CanvasSignInController.

If you'd like to follow along or contribute, we encourage you to participate in the Spring Social Forum, report bugs or suggest enhancements, or to fork the code and contribute back via pull requests.

Get the Spring newsletter

Thank you for your interest. Someone will get back to you shortly.

Get ahead

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

Learn more

Get support

Tanzu Spring Runtime 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