Hi guys.

I have thrown up the little "JEE container" framework that I wrote for
my company last year. I have already written some about what we did on
my blog.

In short it has support for:

----
- JPA -
JPA Template, Genenic Repository etc.

----
- JTA -
EJB-style TX semantics: REQUIRED, REQUIRES_NEW, MANDATORY, NEVER,
SUPPORTS. It hooks into Hibernate/JPA. Can make use of the AOP
framework to allow decorating your methods with:

import javax.ejb.{TransactionAttribute, TransactionAttributeType}

trait Foo {
 @TransactionAttribute(TransactionAttributeType.REQUIRED)
 def foo(msg: String)
}

----
- AOP -
 A simple generic Interceptor/AOP framework. Uses either annotations
or the AspectJ pointcut parser.
See my blog for a detailed post:
http://jonasboner.com/2008/12/09/real-world-scala-managing-cross-cutting-concerns-using-mixin-composition-and-aop.html
(last half)

----
- Caching -
Annotate your methods with '@Cacheable' to have the cached in a
performant way.

----
- DI -
We used the Cake Pattern, but used Guice at one point, should be easy
to add that again if requested.
See this article for details:
http://jonasboner.com/2008/10/06/real-world-scala-dependency-injection-di.html

You can find all code here:
http://github.com/jboner/skalman/tree/master

Here is the JTA stuff:
http://github.com/jboner/skalman/blob/610ad8918111c56284640f04ff7dcce7c33d3e5b/core/src/main/scala/JTA.scala

Please come with feedback if there is anything that would fit Lift.
Especially the JTA stuff since that have been discussed to be added.

Thanks.

Jonas Bonér | Crisp AB

http://jonasboner.com
http://crisp.se
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to