Longa história: veja outra instalação (em funcionamento) em outro lugar. Acontece que há um valor chamado <setup>
que reside no arquivo openfire.xml
de uma instalação funcional da seguinte forma:
...(XML snipped)
<minConnections>5</minConnections>
<maxConnections>25</maxConnections>
<connectionTimeout>1.0</connectionTimeout>
</defaultProvider>
</database>
<setup>true</setup>
</jive>
Por algum motivo, a linha de configuração estava ausente do meu openfire.xml
.
Curiosamente, o arquivo é de propriedade e somente gravável pelo root, portanto, algum processo privilegiado excluiu a linha (de alguma forma ???) quando o processo de instalação foi executado, aparentemente deixando apenas os parâmetros de conexão. Mas, como o arquivo era apenas gravável pelo root, o script de configuração executado pelo JRE não era capaz de gravar no arquivo. Além disso, sou um idiota e perdi essa linha entre as exceções de Java:
java.io.IOException: XML properties file must be writable: openfire.xml
Aparentemente, é gravável em algumas partes do processo de configuração, mas não em outras? Eu não sei. Mas se alguém tiver esse problema, esperamos que encontre a resposta aqui. Consegui corrigir o problema e fazer com que o Openfire fosse carregado imediatamente adicionando o valor <setup>
ao openfire.xml.