Howl is a transaction log, i.e. it will store into a file informations related to xa transactions while preparing / committing the transactions. It' s not a persistence layer.
I worked it out. The activeMQ docs are missing the config parameter to set up howl to sit on top of a JDBC database, but I found the details hidden in the default config.
You can have howl journal to disk and then periodically dump its journals to a database in a batch, which was the behaviour I was expecting.
<journaledJDBC journalLogFiles="5" dataDirectory="../activemq-data" dataSource="#postgres-ds"/>
Terry
