Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- import java.util.Properties;
- import oracle.jdbc.OracleConnection;
- import oracle.jdbc.OracleDriver;
- import oracle.jdbc.OracleStatement;
- import oracle.jdbc.dcn.DatabaseChangeEvent;
- import oracle.jdbc.dcn.DatabaseChangeListener;
- import oracle.jdbc.dcn.DatabaseChangeRegistration;
- public class DBTest {
- static final String USERNAME = "username";
- static final String PASSWORD = "password";
- static String URL = "jdbc:oracle:thin:@url:port/name";
- public static void main(String[] args) {
- DBTest oracleDCN = new DBTest();
- try {
- oracleDCN.run();
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- }
- private void run() throws Exception {
- OracleConnection conn = connect();
- Properties prop = new Properties();
- prop.setProperty(OracleConnection.DCN_NOTIFY_ROWIDS, "true");
- DatabaseChangeRegistration dcr = conn.registerDatabaseChangeNotification(prop);
- try {
- dcr.addListener(new DatabaseChangeListener() {
- public void onDatabaseChangeNotification(DatabaseChangeEvent dce) {
- System.out.println("GIVE ME SOMETHING!");
- }
- });
- //conn.unregisterDatabaseChangeNotification(dcr);
- Statement stmt = conn.createStatement();
- ((OracleStatement) stmt).setDatabaseChangeRegistration(dcr);
- ResultSet rs = stmt.executeQuery("select * from Schema.T_TEST");
- while (rs.next()) {
- }
- rs.close();
- stmt.close();
- } catch (SQLException ex) {
- if (conn != null) {
- conn.unregisterDatabaseChangeNotification(dcr);
- conn.close();
- }
- throw ex;
- }
- }
- OracleConnection connect() throws SQLException {
- OracleDriver dr = new OracleDriver();
- Properties prop = new Properties();
- prop.setProperty("user", DBTest.USERNAME);
- prop.setProperty("password", DBTest.PASSWORD);
- return (OracleConnection) dr.connect(DBTest.URL, prop);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement