Home > .NET, NServiceBus > Reading NSB Message Content

Reading NSB Message Content

Jika terjadi exception pada handler dari NServiceBus maka proses tersebut akan di eksekusi sebanyak 5 kali secara default. Dan jika tidak juga berhasil ditangani maka message tersebut akan dipindahkan ke error queue. Kemudian exception yg ada tersebut akan di log oleh log4net.

Sehingga system administrator akan membaca log tersebut untuk mengetahui penanganan kesalahan dan setelah perbaikan mengembalikan message yg ada di error queue tersebut ke queue semula.

Penanganan tersebut dijelaskan pada Dokumentasi NServiceBus pada bagian http://www.nservicebus.com/Documentation.aspx

Tetapi untuk membaca log file sangat menjemukan. Sehingga akhirnya kami mengambil kesimpulan message tersebut dan pesan kesalahannya disimpan ke database. Sehingga kita dpat membuat monitoring terhadap message2 yg gagal diproses.

Message yg diserialize tersebut harus dapat dibaca. Code untuk membaca tersebut saya buat sebagai berikut

public static class MessageExtensions
    {
        public static string GetMessageContent(this IMessage message)
        {
            PropertyInfo[] propertyInfos = message.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public);
            StringBuilder builder = new StringBuilder();
            foreach (var propertyInfo in propertyInfos)
            {
                builder.Append(string.Format("{0}: {1};", propertyInfo.Name, propertyInfo.GetValue(message, null)));
            }
            return builder.ToString().Trim(';');
        }
    }

NServiceBus sebenarnya memiliki mekanisme untuk fault tersebut. Tetapi fitur tersebut blum di release.

  1. Husnin Mubarak
    April 12, 2010 at 11:20 pm

    Walau tak terlalu paham saat ini. Tulisan ini cukup membuka cakrawala baru NSerciceBus ini.

    Designed for collaboration between business-oriented services, NServiceBus is not a replacement for RPC technologies like WCF.

    Successful SOA and DDD projects use a mix of approaches and technologies – not just NServiceBus for communications. (kutipan http://www.nservicebus.com/Overview.aspx)

    Here you’ll find the similarities and differences
    between NServiceBus and its Microsoft counterparts

    Implementasinya boleh di urai lagi bung !

    Salam

  2. weltam
    April 13, 2010 at 1:08 am

    step by step tutorialnya ada dibuat di sini mas

    http://sourceforge.net/apps/mediawiki/nservicebus/index.php?title=Tutorials

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: