35,28 → 35,7 |
public void init(FilterConfig filterConfig) |
throws ServletException |
{ |
// get config |
this.filterConfig = filterConfig; |
|
if(filterConfig != null) { |
// register hibernate classes |
String toRegister = filterConfig.getInitParameter("register"); |
if(toRegister != null) { |
String[] registers = toRegister.split("\\s*;\\s*"); |
|
for(int i = 0; i < registers.length; i++) { |
try { |
String name = registers[i].trim(); |
if(name.equals("")) continue; |
|
Class cl = Class.forName(name); |
} |
catch(Exception ex) { |
logger.error("cannot register class", ex); |
} |
} |
} |
} |
} |
|
public void doFilter(ServletRequest request, ServletResponse response, |
70,8 → 49,14 |
chain.doFilter(request, response); |
|
if(HibernateUtil.isTransactionOpen()) { |
logger.info("commit transaction"); |
HibernateUtil.commitTransaction(); |
if(Boolean.TRUE.equals(request.getAttribute("TRANSACTION_FAILED"))) { |
logger.info("rollback transaction because it is marked as failed"); |
HibernateUtil.rollbackTransaction(); |
} |
else { |
logger.info("commit transaction"); |
HibernateUtil.commitTransaction(); |
} |
} |
} |
catch(Exception ex) { |
78,7 → 63,7 |
logger.error("exception by program execution", ex); |
try { |
if(HibernateUtil.isTransactionOpen()) { |
logger.info("rollback transaction"); |
logger.info("rollback transaction because of exception"); |
HibernateUtil.rollbackTransaction(); |
} |
} |