
On 02/05/2013 02:13 PM, Libor Spevak wrote:
Thanks for the info, I just wanted to know, if there are fans of Spring Framework. If we concentrate just on dependency injection (CDI), probably "standard" JEE technology would be the best way.
But, if we want to integrate with e.g. Hibernate/JPA, memory cache (e.g. EhCache) because of DB performance, weave transparently logging,monitoring and/or caching code to current classes (using aspects) without changing any line of current code (if we had services based on Spring beans), there are not many options. JEE container independence is here not an issue and I am not sure, if development on light container like Jetty would be quicker, but for integration tests the framework support is strong (e.g. "simulates" services of "real" JEE container).
Libor
On 4.2.2013 14:07, Laszlo Hornyak wrote:
I have seen a CDI patch from Roy that may be related to the topic.
I do not know what the general direction is. CDI is "more standard", while it's implementations for me look heavy weight and difficult to port to small containers like tomcat or jetty.
In general, now we only inject the Backend deathstar bean to wherever it is needed and then it is used as registry for other service objects and DAOs.
With spring dependency injection, we could be more independent from the container, since the ioC container is comming with us to the app container. But at the other hand, ovirt is a nice big ear app, so how would you put it together as a spring app? What changes would this need?
Laszlo
----- Original Message -----
From: "Libor Spevak" <lspevak@redhat.com> To: engine-devel@ovirt.org Sent: Tuesday, January 29, 2013 11:42:35 AM Subject: [Engine-devel] Time for Spring?
Hi,
it is rather cold in Europe, but can I ask, what's the current opinion or plans about "full" integration of Spring Framework into oVirt engine (Backend)?
This is a commonly accepted integration framework among Java programmers and industry standard, which solves many pains from small to large projects. And can lead to a better understanding of the program.
There are several Spring dependencies inside oVirt project, but mostly for LDAP and database communication (JDBC template).
Still missing (sorry, looks like marketing, but..):
- dependency injection - aspect-oriented programming (AOP) - enterprise integration patterns
Is something true? :-)
1. We tried, but it is too large and overcomplicated, it can be solved better way for the project purpose 2. We tried, but we think, we need just e.g. JDBC, LDAP layer covered now 3. We would like to integrate with e.g. Hibernate soon, EJB, remoting, unit tests, integration tests, ... , probably we will need it soon 4. We understand and need dependency injection, but there are other light DI containers (Pico, Guice, JBoss Seam). etc.
Jboss weld an implementation reference the CDI JSR 299 and this is what is used in my CDI refactor patches.http://gerrit.ovirt.org/#/c/5575/
What we strive to achieve by using it is the separation of behavior from dependency resolution so its easy to 1. replace run time object with mock objects 2. dynamically switch implementation objects in runtime or 3. dynamically load plugins
Still, I think there is strong potential, probably not clear today. We cannot avoid Guice on frontend side because of GWTP, but the backend lacks something. Or not?
Thanks.
Regards, Libor
_______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel
_______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel