QPID-6164 added RabbitMQ's publish confirms  feature to Broker-J. Concerning when the basic.ack is sent back to the client, the feature documentation states:
For routable messages, the basic.ack is sent when a message has been accepted by all the queues. For persistent messages routed to durable queues, this means persisting to disk.
Currently, Broker-J does not behave in this way. The basic.ack is returned to the client before the auto-async transaction has confirmed that the data is on disk. The code is AMQChannel#deliverCurrentMessageIfComplete. It ought to arrange for the acks to be returned once the sync completes.