2011-09-06 2 views

답변

0

대신 Database Trigger을 직접 사용해보십시오.

확인이 질문에 대한 getting events in java from Database

+0

당신은 무엇을 의미합니까? – ed0

+0

@ ed0 U 테이블에 변경 트리거를 만들 수 있습니다. 변경이 발생하면 트리거가 통보되고 모든 storedproc 또는 sql을 실행할 수 있습니다. –

+0

문제는 데이터베이스에서 특정 작업을 수행하는 데 필요한 스레드가 특정 프로세스를 사용할 수 있는지 확인하는 것입니다. 자바 측에서 실행하고 완료되면 db를 완료로 업데이트합니다. 실행하려는 프로세스는 저장 프로 시저에 의해 실행될 수 없습니다. 그것은 오직 자바 측에서 발생할 수 있습니다 – ed0

0

당신이 (데이터베이스) 테이블을 모니터링하고 데이터베이스도 변경해야 할 경우에, 당신은 정말 트리거를 고려해야한다.

간단히 말해서 트리거는 테이블의 변경 사항을 자동으로 실행하기 전에 수행하는 일종의 절차입니다. UPDATE, INSERT 또는 DELETE 트랜잭션을 모니터하고 조치를 취할 수 있습니다. 당신이 뭔가 데이터베이스에 변경된 클라이언트 응용 프로그램에서 알림을 받을지 당신이 (트리거 옵션되지 않도록) 응용 프로그램 자체에 그것에 반응해야하는 경우 여기

당신은 Simple tutorial on Oracle Triggers

+0

일은 DB에서 자신의 직업을받는 스레드가 원하는 경우 특정 필드 테이블에서 사용할 수있는 특정 자바 프로세스의 특정 프로세스를 실행하는 것입니다 읽기 완료되면 db를 업데이 트 – ed0

1

입니다 오라클의 변경 통보를 사용할 수 있습니다.

이렇게하려면 모니터해야하는 "결과 세트"를 지정하는 JDBC 드라이버에 리스너를 등록하십시오. 리스너는 데이터베이스에서 무언가가 변경 될 때마다 호출됩니다.

이, 설명서를 참조 작동 방법에 대한 자세한 내용은

:

http://download.oracle.com/docs/cd/B28359_01/java.111/b31224/dbmgmnt.htm#CHDEJECF

+0

오라클이 아닌 DB를 어떻게 할까? –

+0

내가 알고있는 유일한 DBMS는 LISTEN/NOTIFY 개념을 가진 PostgreSQL입니다 : http://www.postgresql.org/docs/current/static/sql-listen.html (JDBC를 통해서도 가능합니다) –