Advertisement
Guest User

Untitled

a guest
Jul 12th, 2017
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.14 KB | None | 0 0
  1. import java.sql.ResultSet;
  2. import java.sql.SQLException;
  3. import java.sql.Statement;
  4. import java.util.Properties;
  5. import oracle.jdbc.OracleConnection;
  6. import oracle.jdbc.OracleDriver;
  7. import oracle.jdbc.OracleStatement;
  8. import oracle.jdbc.dcn.DatabaseChangeEvent;
  9. import oracle.jdbc.dcn.DatabaseChangeListener;
  10. import oracle.jdbc.dcn.DatabaseChangeRegistration;
  11.  
  12. public class DBTest {
  13. static final String USERNAME = "username";
  14. static final String PASSWORD = "password";
  15. static String URL = "jdbc:oracle:thin:@url:port/name";
  16.  
  17. public static void main(String[] args) {
  18. DBTest oracleDCN = new DBTest();
  19. try {
  20. oracleDCN.run();
  21. } catch (Exception ex) {
  22. ex.printStackTrace();
  23. }
  24. }
  25.  
  26. private void run() throws Exception {
  27. OracleConnection conn = connect();
  28. Properties prop = new Properties();
  29. prop.setProperty(OracleConnection.DCN_NOTIFY_ROWIDS, "true");
  30. DatabaseChangeRegistration dcr = conn.registerDatabaseChangeNotification(prop);
  31.  
  32. try {
  33. dcr.addListener(new DatabaseChangeListener() {
  34. public void onDatabaseChangeNotification(DatabaseChangeEvent dce) {
  35. System.out.println("GIVE ME SOMETHING!");
  36. }
  37. });
  38. //conn.unregisterDatabaseChangeNotification(dcr);
  39. Statement stmt = conn.createStatement();
  40. ((OracleStatement) stmt).setDatabaseChangeRegistration(dcr);
  41. ResultSet rs = stmt.executeQuery("select * from Schema.T_TEST");
  42. while (rs.next()) {
  43. }
  44. rs.close();
  45. stmt.close();
  46. } catch (SQLException ex) {
  47. if (conn != null) {
  48. conn.unregisterDatabaseChangeNotification(dcr);
  49. conn.close();
  50. }
  51. throw ex;
  52. }
  53. }
  54.  
  55. OracleConnection connect() throws SQLException {
  56. OracleDriver dr = new OracleDriver();
  57. Properties prop = new Properties();
  58. prop.setProperty("user", DBTest.USERNAME);
  59. prop.setProperty("password", DBTest.PASSWORD);
  60. return (OracleConnection) dr.connect(DBTest.URL, prop);
  61. }
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement