Exposing the boot classpath in OSGi

Engineering | Costin Leau | January 19, 2009 | ...

A fairly common question that I get from time to time is how to go about using JDK specific classes inside an OSGi environment. To some degree, this is equivalent to getting access to the bootstrapping classpath from OSGi, without bundling it. To express package dependencies, bundles use the OSGi directive inside their manifests - mainly Export-Package and Import-Package for providing and demanding, a respectively, a class package dependency. Defining a bundle wiring is a crucial step for creating a modular application; however there are cases, as the issue above, where the needed package is…

Spring Security customization (Part 2 - Adjusting secured session in real time)

Engineering | Oleg Zhurakousky | January 03, 2009 | ...

Imagine you are in the secured session (you are logged on and are authorized to access a particular resource), but your security infrastructure team has updated your rights and privileges. Perhaps you were given more rights and privileges or perhaps your rights were completely revoked. . . The problem is that your secured session is registered in session registry and until you log-off/log-on the Principal which represents you in this secured session will not be recreated. And what if the situation is even more dramatic (after all we are talking security here). . . You are a disgruntled employe…

Spring Security customization (Part 1 - Customizing UserDetails or extending GrantedAuthority)

Engineering | Oleg Zhurakousky | January 02, 2009 | ...

This is the first part of what I hope will become a multipart series of small posts showing practical examples around Spring Security customization. The requirements for these customizations are not imaginary and all came from the field. . .

Assume you have the following requirement. You have a list of roles where each role contains  list of business functions applicable to this role (see below):

ROLE_ADMIN     BF_QUOTE_CREATE     BF_POLICY_CREATE     BF_POLICY_DELETE

ROLE_AGENT     BF_QUOTE_CREATE     BF_POLICY_CREATE

ROLE_USER     BF_QUOTE_CREATE

The trick is to be able to make authorization…

Deploying GWT Applications in SpringSource dm Server - Part 3

Engineering | Ben Corrie | December 19, 2008 | ...

Introduction

This is the final blog in a series of three describing a step-by-step approach to building and deploying GWT applications in the SpringSource dm Server™. The first blog looked at the process of creating a simple WAR file from a sample GWT application and the second blog turned the GWT dependencies into an OSGi bundle which can be shared across multiple applications. This final blog will further modularize our GWT sample into OSGi services using Spring Dynamic Modules. This should clearly demonstrate the benefits of OSGi modularity: The ability to remove and replace services at runtime, seamlessly managing multiple versions of bundles and how straightforward it is to deploy and manage using dm Server.

This is the only blog in the series to actually use the Spring Framework. Spring is used to configure the Spring Dynamic Modules and publish and consume the OSGi services. It also demonstrates one mechanism of bridging the world of Spring-managed beans with GWT remoting. However, I'm well aware that Spring/GWT integration is a significant topic in itself, so I'm purposefully keeping to the one simple solution here.

Please see Part 1 for the background to the GWT StockWatcher sample and the software I'm using.

Also note that you can skip all these tedious instructions and zoom on down to the…

Using Spring BlazeDS Integration 1.0.0.M1

Engineering | Jeremy Grelle | December 17, 2008 | ...

Update: Most of the code examples shown below are out-of-date and superseded by those shown in the more current "Using Spring BlazeDS Integration 1.0" post.

Today we announced the public availability of the first milestone release of the newest member of the open source Spring project portfolio, Spring BlazeDS Integration. This project's purpose is to make it easier to build Spring-powered Rich Internet Applications using Adobe Flex as the front-end client. It aims to achieve this purpose by providing first-class support for using the open source Adobe BlazeDS project and its powerful…

Spring Integration in Grails (Part 1)

Engineering | Russ Miles | December 11, 2008 | ...

Spring Integration last week went 1.0 GA and so, inspired by Adrian's keynote (no, not the Monty Python sketch, just the Grails live-coding example) from SpringONE Americas, I thought it would be fun to show how to take advantage of Spring Integration in the slightly different setting of a Grails application.

Please note: This is a cross post from my own blog @ www.russmiles.com

This series of articles will look at how to add Spring Integration to Grails in a number of configurations that will eventually lead to a full Grails plugin for Spring Integration. More like an online diary, you'll get the chance to see how we take our first steps by bootstrapping Spring…

Slides and Demos from SpringOne Americas 2008

Engineering | Rob Harrop | December 11, 2008 | ...

As promised to the attendees of my sessions, here is the content for my dm Server and concurrency sessions.

Introduction to dm Server

The slides and demo code for this presentation were attached to my previous entry: Getting Started with SpringSource dm Server.

While I was at the conference I met with David Winterfeldt from Spring by Example who pointed me at his great dm Server tutorial.

Advanced Concurrency

The slides for the Advanced Concurrency presentation can be found here and the demo code is here. Slides from last year's concurrency presentation can be found here.

First Spring Framework 3.0 milestone released

Engineering | Juergen Hoeller | December 05, 2008 | ...

I'm pleased to announce that Spring Framework 3.0 M1 is finally available for download!

This release features several major changes, including a start of the major 3.0 themes such as EL and REST support:

  • revised project layout and build system with module-based sources
  • updated entire codebase for Java 5 code style (generics, varargs)
  • updated to JUnit 4.5 and JRuby 1.1
  • introduced Spring EL parser (org.springframework.expression package)
  • introduced support for #{...} expressions in bean definitions
  • introduced expression-enabled @Value annotation for embedded expressions
  • introduced @PathVariable annotation for URI template handling in MVC handlers
  • introduced default value support for @RequestParam in MVC handlers
  • introduced @RequestHeader annotation for HTTP header access in MVC handlers
  • introduced AbstractAtomFeedView and AbstractRssFeedView base classes
  • introduced <spring:url> and <spring:param> JSP tags

as well as various minor enhancements.

Note that Spring Framework 3.0 requires Java 5 or above and J2EE 1.4 or above. We are building on Java 6 and Java EE 5 as the primary platform levels - but rest assured, we will retain compatibility with Java 5 enabled J2EE 1.4 servers such as WebLogic 9 and WebSphere 6.1.

We also removed/deprecated several classes that became outdated. More information…

The cat is out of the bag – tc Server announced

Engineering | Peter Cooper-Ellis | December 04, 2008 | ...

We just announced a new product called the SpringSource tc Server this week at the SpringOne Americas conference. Springsource tc Server is an enterprise-class web application server based on Apache Tomcat.

Although SpringSource is not the first company to build a product around Apache Tomcat (WebSphere Community Edition and JBoss both embed versions of Tomcat in their J2EE application servers and the developer release of JBoss Web 2.1.1 also embeds Tomcat), tc Server is unique in that it preserves the Tomcat servlet/JSP programming model. Applications written to Tomcat are 100% portable to…

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