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:
-
Buat environment dengan database (MySQL dalam contoh ini):
-
Buat pengguna baru di database:
Database name : jelasticDb
User_name : jelastic
Password : jelasticCara membuat pengguna baru - klik di sini.
-
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>
-
-
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;
}
}