I've seen few similar issues on stackoverflow but i could not figure out how i can solve my problem. After adding Spring Security to my Spring MVC project i got following exception:
Jul 20, 2014 3:18:04 PM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc SEVERE: The web application [] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
Here is my mysql-connecter in the pom.xml
mysql mysql-connector-java 5.1.31
Here are classes that i've added:
@Component @Transactional public class UserDetailsServiceImpl implements UserDetailsService{ @Autowired private UserDAO userDAO; @Autowired private UserAssembler userAssembler; private static final Logger logger = LoggerFactory.getLogger(UserDetailsServiceImpl.class); @Transactional(readOnly = true) public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException, DataAccessException { User user = userDAO.findByEmail(username); if(null == user) throw new UsernameNotFoundException("User not found"); return userAssembler.buildUserFromUser(user); } }
and assembler
@Service("assembler") public class UserAssembler { @Autowired private UserDAO userDAO; @Transactional(readOnly = true) public User buildUserFromUser(net.viralpatel.contact.model.User user) { String role = "ROLE_USER";//userEntityDAO.getRoleFromUserEntity(userEntity); Collection authorities = new ArrayList(); authorities.add(new GrantedAuthorityImpl(role)); return new User(user.getLogin(), user.getPassword(), true, true, true, true, authorities); } }
Here is my spring-security.xml
EDITED:
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /opt/idea-IU-135.909/bin::/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib Jul 20, 2014 3:58:36 PM org.apache.catalina.core.JreMemoryLeakPreventionListener lifecycleEvent SEVERE: Failed to load class com.mysql.jdbc.NonRegisteringDriver during Tomcat start to prevent possible memory leaks. java.lang.ClassNotFoundException: com.mysql.jdbc.NonRegisteringDriver