What is the difference of these two messages? I searched the web a bit and most what I could find is
A self message is a message that an object sends to itself. It is a message that represents the invocation of message of the same lifeline. A self message can represent a recursive call of an operation, or one method calling another method belonging to the same object.
What is the benefit of additional activation bar that recursive message brings?
In graphical notation:
non recursive self message:
recursive self message
what is the difference?
You should use a self message when you are calling functions in the class which either don't call other functions, don't send any messages (or they do but you don't want to show this in the sequence).
If you also want to model how the inner functions of the class interact with other lifelines, you have to use recursive calls to show this, otherwise the reader can't know that the messages are sent/received from the inner function.