Skip to main content

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.
ExpojoFoundation is the key class that is the foundation of the persistent and TDI (Turbo Dependency Injection) of any Expojo based application.

We'll also be moving the source code to Github to make community contributions much easier.

Stay tuned!


Popular posts from this blog

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: . 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

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 c

exPOJO: used in major financial company's core enterprise software

A major provider of financial IT resources based in Sydney, Australia is using exPOJO to provide access to their core enterprise objects in a generic way. A variety of their integral applications use exPOJO to expose their core enterprise objects in a consistent and generic way saving thousands of developer hours whenever a new application needs to be created. The exposed model was implemented using exPOJOs JPOX/JDO wrapper (a Hibernate wrapper is also available) as their transparent persistence solution. JPOX was chosen because it provides virtually 100% transparent persistence at the domain model level and has a significant performance edge due to its ability to perform build time byte code enhancement instead of relying on much slower run time reflection to do its job. The domain model objects are all pure POJOs without any need for annotations or the need to add extra methods to enable the underlying ORM to function correctly. All domain models are designed and maintained using t