Wis*_*Wis 1 mapping jboss stateless-session-bean dozer
只是想知道是否有一个像这样的静态推土机映射器会导致并发错误:
public static Mapper mapper = new DozerBeanMapper();
public static MyDTO toDTO(MyEntity e) {
MyDTO dto = mapper.map(e, MyDTO.class);
return dto;
}
Run Code Online (Sandbox Code Playgroud)
还是应该始终使用以下代码:
public static MyDTO toDTO(MyEntity e) {
Mapper mapper = new DozerBeanMapper();
MyDTO dto = mapper.map(e, MyDTO.class);
return dto;
}
Run Code Online (Sandbox Code Playgroud)
该方法在JBoss Server的@Stateless会话Bean中使用,可以同时访问。事实是我真的不知道Dozer是否利用库中的静态变量或实例变量来决定是否可以/应该在每个调用中使用静态Mapper或创建新实例。
推土机实例可能是静态的。如果您将为每个请求创建新实例,则性能将大大降低,因为每次都会初始化许多缓存。由于自定义转换器中的错误或内部推土机问题,可能会遇到ConcurrencyError。