Lewati ke konten utama

Connection to DB using JNDI

Untuk menghubungkan ke DB menggunakan JNDI, Anda perlu melakukan langkah-langkah berikut:

  • Masuk ke PaaS dashboard
  • Buat environment
  • Tambahkan node database ke environment Anda
  • Modifikasi beberapa file konfigurasi di web-app
  • Buat koneksi dalam java-class

Mari kita lakukan langkah demi langkah:

  1. Buat environment dengan database (MySQL dalam contoh ini):

    environment with MySQL
  2. Buat pengguna baru di database:

    Database name : jelasticDb
    User_name : jelastic
    Password : jelastic

    Cara membuat pengguna baru - klik di sini.

  3. Modifikasi file konfigurasi di web-application Anda:

    • context.xml

      <Context antiJARLocking="true" path="/JNDI">
      <Resource name="jdbc/jelasticDb" auth="Container" type="javax.sql.DataSource"
      maxActive="100" maxIdle="30" maxWait="10000"
      username="jelastic" password="jelastic" driverClassName="com.mysql.jdbc.Driver"
      url="jdbc:mysql://mysql-jndi-example.{hoster_domain}/jelasticDb"/>
      </Context>
    • web.xml

      <resource-ref>
      <description>MySQL Datasource example</description>
      <res-ref-name>jdbc/jelasticDb</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
      </resource-ref>
  4. Buat koneksi dalam java-class:

    public class MyConnection {
    private DataSource dataSource;

    public MyConnection() {
    try {
    InitialContext context = new InitialContext();
    dataSource = (DataSource) context.lookup("java:comp/env/jdbc/jelasticDb");
    } catch (NamingException ex) {
    Logger.getLogger(MyConnection.class.getName()).log(Level.SEVERE, null, ex);
    }
    }

    public Connection getConnection() {
    Connection conn = null;
    try {
    conn = dataSource.getConnection();
    } catch (SQLException ex) {
    Logger.getLogger(MyConnection.class.getName()).log(Level.SEVERE, null, ex);
    }
    return conn;
    }
    }

Baca Juga