Skip to main content

expojo 1.3.2 released!

exPOJO 1.3.2 has just been released.

exPOJO is a super lightweight framework that provides:
  • dependency injection in Java (no XML - say goodbye to Spring forever!) using the easy to use ModelExposer class.
  • high productivity persistence using the 'exposed POJO model pattern' to access your objects via Hibernate or JDO.
  • an ORM wrapper that helps you to build code that is portable across different ORMs.

Version 1.3.2 adds an exceptionally useful 'auto query resource clean up' class donated by Guido Anzuoni from Object Magic: http://www.objectmagic.org. Using this class to encapsulate returned query collection result you don't need to explicitly clean up the query resources associated with those results. Guido's class 'automagically' cleans up the resources when it is garbage collected. This is great for users of the OpenPersistenceManagerInView pattern. Currently Guido's class works with JDO only.

Version 1.3.2 also adds a new flushChanges method which is great when you need to establish an extremely complex object graph with cyclic references. ORMs occassionally generate FK constraints with such object graphs and the only workaround is to perform piecemeal database commits. The new flushChanges method can be called at various steps during construction of a complex object graph to perform piecemeal database commits, upon return from flushChanges the exPOJO transaction depth is restored to its previous value saving the developer from having to save/restore the transaction depth explicitly.

Comments

OMax said…
This comment has been removed by the author.
OMax said…
Repeating in last release post:
Why is this project not active anymore? Should JPA implementations now be preferred instead of expojo? What projects use expojo? Or when JPA support will be implemented? Does it work with GAE?
OMax said…
Is there a maven repo for expojo/archetype to try it out?
Unknown said…
With great interest I saw the recent release of expojo 1.4.

Is there any best practice example available how to integrate expojo with Wicket. Since wicket pages to not use servlets, I assume that the ExpojoServletFilter should target the WicketFilter in web.xml. But what is the recommended approach then to access Repositories/Services in the Wicket pages. Thanks
In answer to your questions: exPOJO is very much active though more activity occurs on the expojo.com website rather than the blog.

JPA can be used under exPOJO just like Hibernate and JDO can be so that if your project uses exPOJO it remains easily portable between any framework or standard: Hibernate, JDO or JPA. The only difference is that exPOJO comes complete with Hibernate and JDO PersistenceProviderS but does not yet have a JPA implementation but if you look at the other two you'll see how easy that is for someone who has used JPA to create (and maybe contribute back to the open source project)

We are working on an example that demonstrates its use within a WIMDEX (Wicket, Model Driven, ExPOJO) stack. WIMDEX has to be one of the most productive web development stacks around.

Popular posts from this blog

Welcome to exPOJO

This blog has been created as a meeting place for developers and users of exPOJO to communicate, share ideas, ask questions etc., Please send all questions and comments to this blog.

Expojo 2.2 is on its way!

Expojo 2.2 is almost here Expojo 2.2 has some very useful enhancements but the main changes are name changes to some key classes which make more sense. Don't worry, we haven't removed the old classes (yet) so your existing code should work fine. Some of the name changes are: ModelExposer > ExpojoContext This class is automatically bound to the thread processing a HTTP request by the ExpojoFilter. ExpojoContext is readily available anywhere in your code via ExpojoContext.get(). It contains all the Repository and Service components that are registered in ExpojoContextFactory's addComponents method. ModelExposerFactory > ExpojoContextFactory This factory can be overridden but most likely the existing implementations will provide what you need. ExpojoServletContextListener > ExpojoFoundation This class has not really been a ServletContextListener for a long time (the listening is all done by ExpojoFilter now) so it was time for a name change. ExpojoF...

Version 2.0.1 Released!

After a long period of happy exPOJO usage on a variety of different projects we saw some room for simplification and improvement and version 2.0.1 is the result of this. We've made some excellent refinements and added some new features: New ModelExposerFactory The most notable refinement is that the PersistenceProviderFactory has been renamed to ModelExposerFactory which is extended within your application to become the single object reponsible for producing ModelExposer's when required. Previously ModelExposers were produced by the ExpojoServletContextListener which unfortunately tied the use of exPOJO to web based applications. Now that ModelExposer's are produced by a separate ModelExposerFactory that is independent of the servlet API exPOJO can be used equally well in web app and traditional Java applications. Even within web based development there is often the need for background threads running as part of the web app or running as services outside of a servlet contai...