Saya sering melakukan latihan hands on terhadap Java EE, dan tentunya beberapa latihan tersebut memerlukan koneksi database untuk menyimpan data. Application server favorit saya adalah Wildfly dan Payara, disini antara Wildfly dengan Payara memiliki perbedaan yang cukup mencolok dalam urusan koneksi dengan database dimana Wildfly mengkombinasikan Hibernate dan H2 Database sebagai default datasources yang bisa langsung kita pergunakan dan Payara dengan EclipseLink dan Derby Database. Dengan Netbeans IDE menggunakan Payara saya merasa sangat dimanja, karena pada dasarnya Payara merupakan fork dari Glashfish maka Netbeans dengan mudah terintegrasi dengan Payara sehingga saya dapat melakukan manajemen Derby Database dengan mudah melalui Netbeans. Namun kali ini saya ingin membahas bagaimana management In Memory H2 Database pada Wildfly.

Seperti yang kalian ketahui, Wildfly menyediakan datasources java:jboss/datasources/ExampleDS sebagai default yang bisa kita pergunakan secara langsung tanpa memusingkan konfigurasi database. Jika kalian membuka file standalone.xml dan mencari konfigurasi dari datasource tersebut maka akan seperti berikut.

<datasource jta="true" jndi-name="java:jboss/datasources/example" pool-name="example" enabled="true" use-ccm="true">
    <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1</connection-url>
        <driver-class>org.h2.Driver</driver-class>
        <driver>h2</driver>
        <security>
            <user-name>sa</user-name>
            <password>sa</password>
        </security>
        <validation>
            <background-validation>false</background-validation>
        </validation>
</datasource>

Terlihat bahwa konfigurasi H2 Database adalah in memory sehingga muncul pertanyaan bagaimana saya bisa melihat table, ataupun database yang dibuat oleh aplikasi saya yang memanfaatkan example JNDI tersebut? Saya sendiri memiliki pertanyaan yang sama, dan kebetulan saya menemukan h2console dari Wildfly langsung. Fungsi dari H2Console adalah sebuah Java WAR yang berfungsi sebagai H2 Database Management.

Cara penggunaannya pun cukup sederhana, pertama download file h2console.war yang terdapat pada repository tersebut. Kemudian aktifkan Wildfly dan masuk ke Admin Console Menu. Selanjutnya, masuk menu deployment dan kemudian deploy file h2console.war dan kemudian kita dapat mengakses In Memory H2 Database.

Caranya cukup sederhana, arahkan URL browser anda menuju http://127.0.0.1:[WILDFLY_PORT]/h2console. Disini adalah halaman awal dimana anda dapat memasukan informasi database, username, dan password untuk H2 Database.

h2console

Selanjutnya yang perlu kalian perhatikan adalah JDBC URL, ganti sesuai dengan yang dideklrasikan pada standalone.xml pada kasus ini kita ganti menjadi jdbc:h2:mem:test;DB_CLOSE_DELAY=-1 kemudian isikan username dan password sesuai dengan yang dideklarasikan juga. Selamat sekarang anda dapat memantau In Memory H2 Database.