[Engine-devel] Time for Spring?

Roy Golan rgolan at redhat.com
Wed Feb 6 07:43:34 UTC 2013


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 at redhat.com>
>>> To: engine-devel at 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 at ovirt.org
>>> http://lists.ovirt.org/mailman/listinfo/engine-devel
>>>
>
> _______________________________________________
> Engine-devel mailing list
> Engine-devel at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/engine-devel




More information about the Devel mailing list