Invalidation messages are only sent out at commit-time. If your DB update is a part of the transaction (e.g., using a cache loader) then the 2nd node will see the change in time.
I am not sure I understand:
What do you suggest is that I will use a cache loader and wrap the the invalidation message with a transaction.
And since I am using a cache loader the object will be serialized to the DB (lets assume I am using JDBC cache loader) after the transaction is committed the other node will fetch the "fresh" copy from the cache loader DB table.
Is that what you mean?