add non-redundant message publishing

introduce a specific RuntimeException for the case when we couldn't publish a message at all