2011年10月17日星期一

Log4j, isDebugEnabled check necessary when logging a debug message?

 

logger.debug() method in Log4j already checks isDebutEnabled, maybe it’s not necessary to check isDebugEnabled() before every debug() method.

But consider when there is very complex operations in the debug()’s message construction. When calling the debug() method, the construction logic of the message are always executed first. It’ time and space consuming.

So, practically speaking, in situations when the debug message’s construction logic is not complex, for example, a simple constant string, the isDebugEnabled() check before the logging is not necessary.  On the other hand, in situations when the debug message’s construction logic is complex, for example, involving string buffer and loops, the isDebugEnabled() check before the logging is definitely necessary.

In practice, I would prefer to make a consistency to alway add the check before the real message logging.

SWIFT Message Type

SWIFT provides a network to allow financial and non-financial institution(e.g. corporates) to transfer financial transactions through a ‘financial message’.

Currently SWIFT’s network can support the following message standards.

SWIFT MT

   SWIFT messages, developed by SWIFT Standards, consist of five blocks of data including headers, message content, and a trailer. Message types are crucial to identifying content. All SWIFT messages include the literal ‘MT’(Message Type). This is followed by a 3-digit number that denotes the message type, category, and group.

  Example MT304.

  The first digit(3) represents the category. A category denotes messages that relate to particular financial instruments or services such as precious metals(6), Treasury(3), or Travelers Cheques(8). The category denoted by 3 is Treasury Markets.

  The second digit(0) represents a group of related parts in a transaction life cycle. The group indicated by 0 is a financial institution Transfer.

  The third digit(4) is the type that denotes the specific message. There are several hundred message types across the categories. The type represented by 4 is a notification.

  Overview of SWIFT MT Categories:

      MT0xx: System Messages

      MT1xx: Customer Payments and Cheques

      MT2xx: Financial Institution Transfers

      MT3xx: Treasury Markets

      MT4xx: Collection and Cash Letters

      MT5xx: Securities Markets

      MT6xx: Treasury Markets – Metals and Syndications

      MT7xx: Documentary Credits and Guarantees

     MT8xx: Travellers Cheques

     MT9xx: Cash Management and Customer Status.

ISO 15022 MT

 

ISO 20022 MX

2011年10月12日星期三

BIC code and IBAN code

Technorati 标签:

ISO 9362, also known as SWIFT-BIC, BIC code, SWIFT ID or SWIFT code, is a standard format of Business Identifier Codes approved by the ISO. It is a unqiue identification code for both financial and non-financial institutions. These codes are used when transferring money between banks, particularly for international wire transfers, and also for the exchange of other messages between banks.

IBAN: The international bank account number(IBAN) is an international standard for identifying bank accounts across national borders with a minimal risk of propagating transaction errors. It was originally adopted by the European Committee for Banking Standards, and was letter adopted as an international standard under ISO. The official IBAN registrar under ISO is SWIFT.

 

Please refer wike page:

http://en.wikipedia.org/wiki/ISO_9362

http://en.wikipedia.org/wiki/International_Bank_Account_Number

for detailed information.