cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kelven Yang <>
Subject Re: [MERGE] spring-modularization to master - Spring Modularization
Date Wed, 02 Oct 2013 23:39:10 GMT

This looks really nice. A few questions on Spring AOP replacement.

1) Spring AOP is proxy-based, the reason we ended up of using customized
AOP is mainly due to that inside existing CloudStack codebase, we have
many places that are doing run-time type-casting, the code in these places
assumes a real object that implements all interfaces in the semantics
context. At the time when I initially converted to Spring, I couldn't
ensure that switching to proxy-based AOP can have 100% coverage for these
run-time cases. What is your approach to address this run-time
type-casting issue?

2) We've run into a huge-memory footprint issue that may be caused by
conflicts of CGLIB usage in Spring AOP and the CGLIB usage in CloudStack
Dao layer. Do you have a chance to run a memory analysis in the heap after
management server is started.

I might be good to run BVT test on the branch before the merge, could
someone initiate the effort?


On 10/2/13 3:48 PM, "Darren Shepherd" <> wrote:

>Not sure how this works...  I would like to merge in the new
>modularized Spring setup to master. There is info on the wiki about it
>[1] [2] [3].  The primary change is to break apart the monolithic
>applicationContext.xml and componentContext.xml files such that each
>plugin can maintain and contribute its own configuration.
>In addition to breaking up the configuration we no longer use ACS
>custom AOP and it is now fully Spring AOP.
>Now adding/removing a plug-in is a matter of just adding a jar to the
>classpath (exception being, I'll address that in a
>different thread).  Unfortunately this branch does not have the
>changes to package things in different RPMs.  So it would be great if
>somebody could take up the packaging effort to split out all the
>plugins into different RPMs.

View raw message