To give more fine grained control I have removed the journal "sync" attribute and replaced it by two attributes:
syncTransactional - if true, the journal syncs on transaction boundaries (prepare,commit, rollback) - defaults to true
syncNonTransactional - if true the journal syncs on non transactional persistent operations - e.g. receipt of non transactional persistent message on server, or receipt of non transactional persistent ack on server. This defaults to false.
I also introduced a new attribute on the connection factory - send-p-messages-synchronously - this couples with send-np-messages-synchronously.