[Engine-devel] engine-core redundant instantiation of mappers
Moti Asayag
masayag at redhat.com
Tue Jan 24 14:18:53 UTC 2012
On 01/23/2012 05:38 PM, Yair Zaslavsky wrote:
> Hi all,
> I am refactoring now DiskImageDAODbFacadeImpl.
> As part of my work, I'm also defining there a Spring-JDBC mapper ,
> similar to other ParameterizedRowMapper based mappers we have in code
> (i.e DbUserDAODbFacadeImpl has one)
> Looks like in our DAO getXXXX methods we instantiate these mapper
> objects (each method creates a new mapper object).
> Can anyone see a reason , in case a mapper object is stateless (and from
> what I see, they are) - why not to have a single instantiation per
> mapper type (i.e - Have a MapperUtils class, with static methods like
> MapperUtils.getDiskImageMapper() ?
> IMHO this can save us some unnecessary instanatiations and improve
> performance
+1 for the static suggestion.
Since each mapper is used by a specific DAO impl class (and sometimes
several mappers per DAO), but never shared between those DAOs, IMO they
should be remained in the scope of the DAO which uses them and be
defined inside the DAO class in a static block;
static {
mapper = new ParameterizedRowMapper<Entity>() {
@Override
public Entity mapRow(ResultSet rs, int rowNum){
...
}
};
}
>
> Yair
> _______________________________________________
> Engine-devel mailing list
> Engine-devel at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/engine-devel
More information about the Engine-devel
mailing list