|
|
July 2nd, 2009 by nam
For version 4.0.1, we have added Quercus compilation support for other application servers including Tomcat, where before the interpreted mode was only available. The compiled mode is significantly faster than the interpreted mode (though the interpreted is still quite speedy compared to PHP on Apache). Quercus compilation will also work on Google App Engine, but there’s a requisite that files be pre-compiled.
Read the rest of this entry »
Tags: compilation, google app engine, php, quercus, tomcat Posted in Announcements, Evangelism | No Comments »
June 15th, 2009 by emil
There’s been a lot of hype around OSGi over the last year or two in the enterprise space. Last year even Caucho dallied with adding OSGi support to Resin, though we’ve abandoned the idea in the meantime. In this post, I’ll tell you what’s cool about OSGi, why we were initially attracted to it, why we eventually dropped it, and what we did instead. The more I talk to enterprise developers who’ve actually used OSGi, the more I hear this same story.
Read the rest of this entry »
Tags: osgi, pomegranate Posted in Engineering | 5 Comments »
June 15th, 2009 by ferg
I’ve put together a CanDI binding pattern tutorial (pdf) for four major binding patterns: services, resources, startup, and plugin/extensions.
Focusing on common CanDI patterns should show how CanDI is used in full applications like SubEtha maillist manager, and avoid the temptation to focus on complicated features that only 1% of applications would ever need.
In the tutorial, the key CanDI classes are:
- @Current - the service and unique bean binding annotation.
- @BindingType - the resource custom binding annotation used for declarative injection.
- Instance<T> - the extension/plugin iterator and programmatic bean factor.
- @Any - the special annotation for extension/plugin matching of any registered beans
Tags: candi, jsr-299, tutorial Posted in Engineering | 4 Comments »
June 11th, 2009 by ferg
Gavin King’s announcement is on his wiki.
Although the external annotations and classes are pretty similar (except for a major package change), the internal SPI has changed radically, so it’s quite a bit of work for me to keep up. A version based on for Resin 4.0.1 should be possible, though.
Posted in Engineering | No Comments »
June 10th, 2009 by ferg
As a quick introduction to pomegranate (I’m crushed for time today), here’s a quick diagram that shows the basic module structure for a typical pomegranate configuration.
Pomegranate is designed to solve the module versioning and classloader issues from an enterprise-application perspective. Although we’re doing a bit of classloader magic behind the scenes, the developer perspective is fairly simple and clean:
- remove jars from your .war
- drop them in Resin’s project-jars directory
- declare jar dependencies in Maven .pom files
- import them to your web-app with WEB-INF/pom.xml or in your resin-web.xml
Pomegranate resolves the module versions, and builds a classloader graph for the web-app. The module graph looks like the following:

Tags: module, osgi, pomegranate Posted in Engineering | 1 Comment »
June 8th, 2009 by ferg
Studying the source code for a full application is the best way to really understand a technology like Java Injection (CanDI, JSR-299). Fortunately, Jeff Schnitzer, Scott Hernandez, and Jon Stevens have created a subetha mail, an open-source Java implementation of a mail list manager (like mailman) using CanDI extensively. Because subetha is also a sophisticated JavaEE application using EJB @Stateless beans, JMS queues with EJB @MessageDriven beans, servlets, and Hessian remote services, it’s a great overall application to study.
Read the rest of this entry »
Tags: candi, ejb, resin Posted in Engineering | No Comments »
June 5th, 2009 by ferg
The subetha mail list management system has just been released, using CanDI.
Since it’s open source, I’ve downloaded the source and starting to look at how CanDI is used in the real world.
Posted in Community | No Comments »
June 4th, 2009 by emil
There’s still one more day of sessions left at JavaOne, but the Pavilion with all the booths is now closed, so I thought I’d give my impressions of some of what we saw from the booth. Almost all of the Caucho staff was at the booth at some point and because the company is mostly composed of engineers, we were able to have a lot of useful technical discussions there. These are some of the hot topics that people wanted to talk about:
Read the rest of this entry »
Tags: javaone Posted in Industry | No Comments »
May 22nd, 2009 by emil
The nice folks organizing the Google I/O conference have given us an extra day to demo Quercus on the App Engine, so Nam and I’ll be there both Wednesday (12-6pm) and Thursday (12-4:45). It’s perfect timing too, because Nam has just finished an incredible demo that goes way beyond my meager efforts. He’ll be writing up a blog post about it soon, so I’ll have to just leave you in suspense until then…
Tags: google app engine, quercus Posted in Announcements | 2 Comments »
|