ศูนย์คู่มือ Ruk-Com PaaS

คู่มือการพัฒนา Deploy และดูแล Application บนแพลตฟอร์ม

RUK-COM PAAS / DATABASES

คู่มือ Database Connection via JNDI สำหรับ ฐานข้อมูล

คู่มือนี้เรียบเรียงสำหรับ Ruk-Com PaaS หน้าจอและตัวเลือกอาจแตกต่างตามเวอร์ชันและสิทธิ์ของบัญชี

ตรวจสอบ Environment, Region, สิทธิ์บัญชี และสำรองค่าปัจจุบันก่อนดำเนินการกับระบบจริง

คู่มือภาษาไทย

คำสั่ง ชื่อเมนู พารามิเตอร์ และค่าตัวอย่างในกรอบ Code คงรูปแบบตามระบบเพื่อให้คัดลอกและตรวจสอบได้ถูกต้อง

หากต้องการเชื่อมต่อกับ DB โดยใช้ JNDI คุณต้องทำตามขั้นตอนต่อไปนี้:

  • เข้าสู่ระบบแดชบอร์ด PaaS
  • สร้าง Environment
  • เพิ่ม Node ฐานข้อมูลลงใน Environment ของคุณ
  • แก้ไขไฟล์การกำหนดค่าบางอย่างในเว็บแอป
  • สร้างการเชื่อมต่อในคลาส Java

มาทำทีละขั้นตอนกัน:

  1. สร้าง Environment ด้วยฐานข้อมูล (MySQL ในกรณีของเรา):

Image 27: environment with MySQL2. สร้างผู้ใช้ใหม่ในฐานข้อมูล:

สำเนา

Database name : jelasticDb
User_name : jelastic
Password : jelastic

วิธีสร้างผู้ใช้ใหม่ -คลิกที่นี่.

  1. แก้ไขไฟล์การกำหนดค่าในเว็บแอปพลิเคชันของคุณ:
  • บริบท.xml

คัดลอก 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>
  • เว็บ.xml

คัดลอก 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>
  1. สร้างการเชื่อมต่อในคลาส Java:

จาวาคัดลอก

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;
    }
}