Kamis, 17 Maret 2016

Transaksi management Spring Annotation @Transcational

0 komentar
Pada post ini saya akan menjelaskan salah satu annotation nya Spring framework yaitu '@transactional'. Annotation '@transactional' ini digunakan untuk memberitahu Spring bahwa klass/method yang di tandain dengan '@Transactional' adalah method atau class yang akan melakukan transaksi dengan database. Untuk lebih singkatnya annotation inilah yang akan mengani rollback n commit saat transaksi db berlangsung

perlu diketahui jika kita tidak menggunakan annotation ini makan programmer lah yang harus menulis baris code untuk melakukan rollback jika terjadi kesalahan pada saat transaksi dan meng-commitnya bila semua transaksi telah sukses. Satu lagi, programmer harus menangani sendiri kapan session transaksi dibuka dan kapan transaksi itu di tutup. Di bawah ini adalah contoh Script jika tidak menggunakan annotation '@Transactional'.
  
Session session = null;
Transaction tx = null;
     
try{
    session = HibernateUtil.getSessionFactory().openSession(); //session di open
    tx = session.beginTransaction(); //transaksi di mulai
    
    /*
    *Lakukan select insert update disini sesuai dengan bisnis logic
    */
    simpanDataVoid1();//anggap saja kita sudah buat void untuk simpan data
    simpanDataVoid2();
    updateVoid();

    tx.commit();//commit transaksi jika semua baris select/insert/update sukses di jalankan
           
}catch(RuntimeException e){
   tx.rollback(); //rollback semua transaksi jika terjadi failure di salah satu statement transaksi
   throw e;
}finally{
   if(session!=null){
     session.close(); //close session
   }
}
 
Snipet kode di atas memang keliatan sangat jelas kapan open session, kapan commit, kapan rollback kapan close session tapi kode di atas memiliki kelemahan apabila kita akan melakukan nya di session yang berbeda makan kita juga akan menulis kode tersebut berulang-ulang. Ini tentunya akan mengakibatkan rawan terjadinya error apalagi untuk aplikasi sekala besar.

 

Menggunakan Spring annotation @Transactional

Jika menggunakan Spring @Transactional maka akan jadi sesimple ini:

  
@Transactional
public void businessLogic() {
    /*
    *Lakukan select insert update disini sesuai dengan bisnis logic
    */
    simpanDataVoid1();//anggap saja kita sudah buat void untuk simpan data
    simpanDataVoid2();
    updateVoid();
}

Cara ini tentunya saat nyaman, dan lebih simple dari pada cara yang pertama. Spring akan menangani sendiri masalah session dan rollback untuk annotation @Transactional. Sebelum void 'businessLogic' dipanggil spring secara otomatis membuka session dan mencomit nya. Bagaimana jika terjadi failure? Spring juga akan me-rollback jika terjadi fail di salah satu baris.


Untuk saat ini cukup sampai disini pengenalan Spring @Transactional. Bila ada waktu luang saya akan menulis lagi kelanjutan artikel ini... Terimakasih terlah berkunjung

Read more ►

Kamis, 14 Januari 2016

Install Syntax Highlighter pada blogger

0 komentar

Syntax highlighter merupakan feature dari blog atau website untuk mempermudah menampilkan text yang beruba code-code dari bahasa pemrograman tertentu seperti HTML, PHP, Java, dll. Kebayang kan syntax code di tulis tanpa highlight, ya mirip-mirip buat code di notepad yang warnanya sama semua terus tanpa tabulasi. Karena itu di buatlah Syntax highlighter supaya mempermudah membuat artikel berupa code di website atau blog.

Inilah contoh bentuk dari syntax higlighter

    echo "I like PHP";

This is a heading

This is a paragraph.

pada postingan kali ini saya akan sharing bagaimana caranya memasang / menginstall Syntax highlighter pada blogger. Sebelum mengedit blogger template backup lah blogger template anda.

  • 1. Buat CSS untuk Syntax Highlighter. Caranya kopi code css ini file di bawah ini sebelum tag </b:skin>
    <b:skin><![CDATA[
    ......
    /* copy css syntax highlighter disini
    ----------------------------------------------- */
    ]]></b:skin>
    
  • 2 Paste code javascript di bawah ini sebelum tag </head>
  • <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shCore.js' type='text/javascript'></script>
    
    <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushCpp.js' type='text/javascript'></script>
    <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushCSharp.js' type='text/javascript'></script>
    <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushCss.js' type='text/javascript'></script>
    <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushDelphi.js' type='text/javascript'></script>
    <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushJava.js' type='text/javascript'></script>
    <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushJScript.js' type='text/javascript'></script>
    <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushPhp.js' type='text/javascript'></script>
    <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushPython.js' type='text/javascript'></script>
    <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushRuby.js' type='text/javascript'></script>
    <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushSql.js' type='text/javascript'></script>
    <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushVb.js' type='text/javascript'></script>
    <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushXml.js' type='text/javascript'></script>
  • 3 Paste code dibawah ini sebelum tanda </body>
  • <script language='javascript'>
    dp.SyntaxHighlighter.BloggerMode();
    dp.SyntaxHighlighter.HighlightAll('code');
    </script>
    
  • 4 Save Blogger Template yang sudah di edit.
  • 5 Sekarang Syntax higlighter sudah bisa di gunakan pada blog anda. cara menggunakan nya seperti di bawah ini :
  • <pre name="code">
    ...Your html-escaped code goes here...
    </pre>
    
    <pre name="code" class="php">
        echo "I like PHP";
    </pre>
    

    Dalam membuat syntax code yang di highlighting di perlukan konversi untuk tag-tag HTML. konversi bisa menggunakan tools pada halaman ini . Sedangkan untuk class apa saya yang di support bisa liat pada halaman ini .

    Read more ►
     

    Copyright © IZEET BLOG Design by O Pregador | Blogger Theme by Blogger Template de luxo | Powered by Blogger