2010-08-12 3 views
3

데이터베이스 이벤트를 감지하는 방법이 있습니까? 삽입, 업데이트 및 삭제, JNotify (파일 및 디렉토리의 읽기, 생성, 수정을 감지 할 수 있음)와 같은 파일 액세스 모니터와 비교할 수 있습니까?예를 들어 Java로 데이터베이스 이벤트를 감지하는 방법

폴링을하고 싶지 않기 때문에 데이터베이스 이벤트 리스너와 같은 것을 찾고 있습니다.

감사합니다.

답변

2

일반적으로 없습니다. AFAIK, 그러한 시설은 JDBC 나 SQL 표준에 존재하지 않습니다.

데이터베이스 특정 기능을 사용하는 특정 데이터베이스/구성에서는 가능할 수 있습니다. 예를 들어 트리거에서 임의의 Java 코드를 실행하도록 데이터베이스를 구성 할 수있는 경우 이벤트를 pubsub 시스템에 전송하여 응용 프로그램 코드로 전달할 수 있습니다.

그러나 이벤트 자체를 생성하려면 응용 프로그램 코드베이스를 수정하는 것이 더 좋을 것이라고 생각합니다.

+0

늦게 받아 들여서 죄송합니다. 어떤 로그인을 사용했는지 잊어 버렸습니다. 그리고 네, 코드베이스를 수정하는 것이 가장 좋은 방법입니다! 감사! –

0

일부는 트리거를 통해 서버에 전화를 걸 수있는 코드를 실행할 수 있기 때문에 사용하는 데이터베이스에 따라 다르지만 이러한 수정에 대한 성능이 저하 될 수 있으므로 성능 히트를 제한하기 위해 어떠한 정보도 다시 보내지 않는 webservice를 사용하고자 할 것입니다.

또한 서버를 사용하고 있는지에 따라 달라 지므로 AspectJ를 사용하여 업데이트 쿼리를 모니터링 할 수있다.