Mark Pollack

Mark Pollack

Mark Pollack is a software engineer with Pivotal and is the lead of the Spring Cloud Data Flow project. He has been a contributor to many Spring projects dating back to the Spring Framework in 2003 as well as founding the Spring.NET and Spring Data projects.

Recent Blog posts by Mark Pollack

Spring XD 1.0 Milestone 1 Released

Engineering | June 12, 2013 | ...

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 characteristics with Enterprise Integration and Batch applications.  Spring has provided proven solutions for building integration and batch applications for more than 6 years now via the Spring Integration and Spring Batch projects.  Spring XD builds upon this foundation and provides a lightweight runtime environment that is easily configured and assembled via a simple DSL.

In this blog we will introduce the key components of Spring XD, namely Streams, Jobs, Taps, Analytics and the DSL used to declare them, as well as the runtime architecture.  Many more details can be found in the XD Guide.

Streams

A Stream defines how data is collected, processed and stored or forwarded.  For example, a stream may collect syslog data, filter it, and store it in HDFS.  Spring XD provides a DSL to define a stream.  The DSL allows you to start simple using a UNIX pipes-and-filters syntax to build a linear processing flow but lets you also describe more complex flows using an extended syntax.

Sources and Sinks

A simple linear stream consists of the sequence: Input Source, (optional) Processing Steps, and an Output Sink.  As a simple example consider the collection of data from a HTTP Source writing to a File Sink. The DSL to describe this stream is
http | file

You tell Spring XD to create a stream by making a HTTP request to the XD Admin Server which runs on port 8080 by default.  In the M2 release we will provide an interactive shell to communicate with XD, but for M1 the easiest way is to interact with XD is using ‘curl’.

curl -d "http | file" http://localhost:8080/streams/httptest

The name of the stream is httptest, the default HTTP port to listen on is 9000, and the default file location is /tmp/xd/output/${streamname}.

If you post some data on port 9000 with curl
curl -d "hello world" http://localhost:9000

You will see the string hello world inside the file /tmp/xd/output/httptest

To change the default values, you can pass in option arguments

http --port=9090 | file --dir=/var/streams --name=data.txt

The supported sources in M1 are file, time, HTTP, Tail, Twitter Search, Gemfire (Continuous Queries), Gemfire (Cache Event), Syslog and TCP.  The supported sinks are Log, File, HDFS…

Spring Data MongoDB 1.0.0.RC1 Released

Releases | December 07, 2011 | ...

Dear Spring Community,

I am pleased to announce that Spring Data MongoDB 1.0 RC1 is now available!

The primary goal of the Spring Data project is to provide a familiar and consistent Spring-based programming model for new datastores while retaining store-specific features and capabilities. The Spring Data MongoDB project provides integration with the MongoDB document database. Key functional areas are a POJO centric model for interacting with a MongoDB DBCollection and easily writing a Repository style data access layer.

This is primarily a bug fix release as we move quickly to GA but a few…

Spring.NET 1.3.0 Released

Releases | December 17, 2009 | ...
        <br>

Dear Spring Community,

We are pleased to announce that Spring .NET 1.3.0 is now available.  

Download | SupportDocumentation |  Community

This release contains the following new major features:

Spring.NET 1.3.0 RC1 Released

Releases | August 04, 2009 | ...
        <br>

Dear Spring Community,

We are pleased to announce that Spring .NET 1.3.0 is now available.  

Download | SupportDocumentationCommunity

This release contains the following new major features:

Spring for .NET 1.2.0 Released

Releases | November 10, 2008 | ...

We are pleased to announce that Spring for .NET 1.2.0 is now available.

Download | Support | Documentation| Community

This release contains the following new major features:

  • WCF integration - Configure WCF services using dependency injection. Apply AOP advice to WCF services.
  • MSMQ integration - MSMQ helper classes to increase your productivity developing messaging applications. Provides integration with Spring's transaction management features.
  • Apache ActiveMQ integration - Helper classes to increase your productivity developing messaging applications with ActiveMQ/NMS
  • Quartz integration - Configure Quartz jobs, schedulers, triggers using dependency injection. Convenience classes for implementing Quartz Jobs.
  • AOP- New inheritance based AOP proxy generation
  • NHibernate 2.0.1 support.
This release includes approximately 100 bug fixes and enhancements since the 1.1.2 release.

Please refer to the changelog for additional details.

Enjoy!

Spring.NET 1.2.0 RC1 Released

Releases | October 16, 2008 | ...

We are pleased to announce that Spring .NET 1.2.0 RC1 has been released.
Download | Support | Documentation | Changelog
This release contains the following features:

  • WCF Integration - Configure WCF services using dependency injection. Apply AOP advice to WCF services.
  • MSMQ integration - MSMQ helper classes to increase your productivity developing messaging applications. Provides integration with Spring's transaction management features.
  • Apache ActiveMQ integration - Helper classes to increase your productivity developing messaging applications with ActiveMQ
  • Quartz integration - Configure Quartz jobs, schedulers, triggers using dependency injection. Convenience classes for implementing Quartz Jobs and integration with Spring's transaction management features.
  • AOP New inheritance based AOP proxy generation.
  • Performance Improvements in WebForm dependency injection.
  • NHibernate 2.0.1 support.

Other notable new features in 1.2.0 RC1

Support for TIBCO EMS, Websphere MQ, and Progress SonicMQ will be made available commerically.  Contact sales for more information.

Please refer to the changelog for additional details.

Enjoy!

The Common Service Locator library

Engineering | October 03, 2008 | ...

The CommonServiceLocator project was released this week on CodePlex with the general idea of providing an IoC container agnostic API for resolving dependencies using Service Location. Erich Eichinger from SpringSource contributed the Spring.NET implementation, thanks Erich!

Here is the API so you get the basic idea public interface IServiceLocator : System.IServiceProvider {

object GetInstance(Type serviceType); object GetInstance(Type serviceType, string key); IEnumerable GetAllInstances(Type serviceType); TService GetInstance(); TService GetInstance(string key); IEnumerable GetAllInstances(); } …

Spring .NET 1.1.1 Released

Releases | April 07, 2008 | ...

Dear Spring Community,

We are pleased to announce that Spring .NET 1.1.1 has been released.  

Download | SiteDocumentation | Changelog

This is primarily a bugfix and enhancement release but some minor new features were introduced:

  • ParameterValidationAdvice to validate method arguments.
  • A Required attribute and RequiredObjectFactoryPostProcessor for enforcing the configuration of required properties.
  • ASP.NET Panel control to disable DI on…

Spring .NET 1.1 and container configuration

Engineering | January 04, 2008 | ...

It has been quite a year for Spring.NET. We have gone through two milestone and two release candidates before the GA release in December. The first chunks of code for the 1.1 release were made way back in late 2004 by Aleks Seovic who started work on the ASP.NET framework. In short, it has been a long time in the making. Being the end of year, a natural time for reflection both past and present, I'd like to say thanks to the other members of the project and the Spring.NET community for all their contributions and support. I'm looking forward to a great 2008!

The feature set of Spring.NET 1.1 is quite broad. An IoC container for Dependency Injection, AOP, ASP.NET framework, declarative transaction management and more. However, the biggest bang for the buck you can get to improve the structure and testability of your code is to add Dependency Injection and AOP into your proverbial developer tool chest. Dependency Injection is the more foundational…

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