I''ve noticed that you have configured async clustering in your Infinispan configuration. This means that all the communication is done asynchronous so, Infinispan will return immediately and will not wait for a confirmation of the replication really occurs. In other words, in 1-way, it sends the replication message and returns from put and in 2-way, it does exactly the same thing (the future.get returns as soon as the message is sent).
To have what you desire, you have to configure the clustering as sync. With sync, the put() in 1-way returns only after it has the confirmation that the owners has applied the modification. In 2-way, the put() is processed in other thread and the future.get() only returns after the same confirmation (as I described in 1-way)
If you have more questions or I was not clear let me know.