Recycle, Reduce, and Reuse
By Jacob Kessler on Sep 02, 2008
The blog has a schedule now! The plan is that I'll try to have a blog update every Tuesday, since that seems to be the way that things are going. As time goes on and I have more stuff to talk about, the blog entries will probably become more frequent. Or just longer.
Anyway, on to the actual blog. Today's topic points to the things that you, a glassfish user, will care about that I've changed about Glassfish this week, all of them hopefully for the better.
First, reusing things. In general, being able to reuse work that you've already done is a good thing. So what do you do if you've just written a fancy dynamically-resizing, AI-enabled JRuby runtime pool to sit at the bottom of Glassfish? You make it Generic! We in Glassfish know that Ruby isn't the only scripting language that people like using for their web apps (in fact, we've already got support for several others), and it would be a terrible waste to redo the runtime pool each time we wanted to add a new language. So I've made some tweaks to the dynamic pool to work with any scripting runtime that you can define for it. This should make it easier to add support for new scripting languages to Glassfish in the future, and improve their performance when we do. This new generic pool should be in v3, along with the dynamic JRuby runtime pool to provide backwards compatability.
Second, reducing things. We want to reduce the hassle that you face trying to configure all of the options that we've added to the dynamic pool over the static one, especially since the way that it acts can't just be tuned for JRuby runtimes any more: some other scripting language might be much faster to start up, but much more memory-intensive while it is running, for example. So I've made a "default" constructor that gives some control over the internals of the dynamic pool, as well as adding support for a configuration object that will allow you to change whatever values of the pool you like, while using defaults on others. Everything from the hard resizing bounds to how fast it decides to add, drop, or trim the runtimes that it is serving. This should make it much easier to configure the new pools to give you the best behavior for your application, while not overwhelming you with arcane options. Plus, we all know how much nerds like to play with things and see what happens.
And recycling? Well, there wasn't much Glassfish-related recycling this week. But you should recycle anyway, since its a good idea in general. Conserve resources, don't pollute, save the planet, and other good things like that.