2013-06-11 2 views
-1

나는 apache tomcat에서 실행되는 JSP로 코딩 된 웹 애플리케이션을 만들었습니다. 그것은 jdbc를 사용하여 웹 인터페이스에서 값을 입력/조작하기 위해 mysql 데이터베이스에 연결합니다.날짜를 비교하여 이메일 알림을 생성하는 방법은 무엇입니까?

이제 mysql 데이터베이스에서 만료 날짜라는 열과 현재 날짜를 비교하려고합니다. 데이터베이스의 현재 날짜와 만료 날짜를 비교하여 만료 날짜가 30 일인 경우 전자 메일 알림이 생성되어야합니다. (만료일에 대한 전자 메일을 미리 정의 된 전자 메일 주소로 보내십시오)

내가 날짜 형식을 사용하여 몇 가지 문제가 있었으므로 varchar() 형식으로 MySQL에 날짜를 저장했습니다.

어떻게하면됩니까? 데이터베이스의 모든 날짜 당신은 cron 작업을 찾고 있습니다

+0

그리고 ... 당신은 무엇을 시도 했습니까? – MaVRoSCy

+0

Java.Util을 사용하여 현재 날짜를 가져 오려고 시도했지만 databse에서 만료 날짜 열을 가져올 수 있습니다. 그러나 SQL 쿼리의 결과를 비교하는 방법을 알아낼 수 없으며 30 일 조건이 충족되면 즉시 메일을 생성합니다. –

+0

그리고 만료일이 db에 저장되는 형식은 무엇입니까? – MaVRoSCy

답변

0

만료되는 경우 내가 그 일상이 코드 검사에 대해 한 번 실행해야합니다, 당신은 여기 예제를 볼 수 http://makdns.blogspot.com/2011/02/java-servlet-cron-job-thoruhg-tomcat.html

먼저 실제로하는 작업을 생성

귀하의 비즈니스를 수행하는 자바 클래스 파일, 예를 들어 DB에서 모든 레코드를 가져와 날짜를 비교하고 이메일을 보내야합니다. 다음에 매일 또는 매주 작업을 다시 실행하기 위해 cronjob 옵션을 설정해야합니다. 앱 크기에 따라 다릅니다.

자세한 내용은 cron 작업, cron 작업 키워드로 google해야합니다.

당신은 구문 분석하고

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); // or whatever format you have 
Date dateFromDB = sdf.parse("String from your date column in database"); 
Date now = new Date(); 

if(now.getTime() - dateFromDB.getTime() > 30 x 24 x 3600 x 1000) { 
    // TODO alert email 
} 

희망이 도움이 같은 날짜 객체 뭔가를 만들 수 있습니다 편집 .

+0

예 내 문제의 두 번째 부분 인 cron 작업은 전자 메일을 생성하는 데 도움이됩니다. 하지만 첫째, 내 데이터베이스의 만기 열과 현재 날짜의 결과를 어떻게 비교할 수 있습니까? 현재 날짜는 만료 열의 모든 엔트리와 비교해야하기 때문에 –

+0

자세한 내용은 java 문서를 읽거나 검색해야합니다. – simpletron

+0

고마워, 내 문제를 해결해야한다고 생각해. –

관련 문제