I am missing something when adding a new method but I do not know what ?? It is generating a cannot find symbol compilation error in userDAO.countUsers line :
@Autowired
private UserDAO userDAO;
    @Async
private Future<Long> searchCount(MultiValueMap<String, String> parameters) throws DaoException {
   userDAO.countUsers("bla bla");
    return new AsyncResult<Long>(Long.getLong("1")); // temp code
}
Here is the service interface :
public interface UserDAO {
long countUsers(String bloblo) throws DaoException;
And here is the implementation :
    @Service("userDAO")
    @SuppressWarnings("unchecked")
    @Transactional(readOnly = true, timeout = Constants.TRANSACTION_TIMEOUT, propagation = Propagation.SUPPORTS)
    public class UserDaoImpl implements UserDAO {
@PersistenceContext
private EntityManager em;
   @Override
    public long countUsers(String bloblo) throws DaoException {
        // Build request
        final QueryCriteria qc = new QueryCriteria(bloblo);
        final StringBuilder request = prepareQuery(qc);
        request.replace(7, 21, "count(distinct user)");
        final Query query = em.createQuery(request.toString());
        // Build parameters
        addParameters(query, qc);
        // Execute
        try {
            return (Long) query.getSingleResult();
        } catch (final RuntimeException e) {
            LOG.error(e.getMessage(), e);
            throw new DaoException(e);
        }
    }
Help really appreciated !