cloudstack-dev mailing list archives

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

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?

kelven



On 10/2/13 3:48 PM, "Darren Shepherd" <darren.s.shepherd@gmail.com> 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 commands.properties, 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.
>
>Darren
>
>[1] 
>https://cwiki.apache.org/confluence/display/CLOUDSTACK/Modularize+Spring
>[2] 
>https://cwiki.apache.org/confluence/display/CLOUDSTACK/Plug-ins%2C+Modules
>%2C+and+Extensions
>[3] https://cwiki.apache.org/confluence/display/CLOUDSTACK/Extensions


Mime
View raw message