У меня есть и архитектура OSGi, и я использую xml mappers + интерфейсы (как рекомендуется).
Файл конфигурации Mybatis я помещаю в папку glassfish / domains / domain1 / config. Эта конфигурация загружается при первом вызове MyBatisConnectionFactory. Это нормально.
Теперь у каждого бандла есть свои мапперы. Я могу добавить их динамически, поставив
com.acme.myproject.MyMapper и com / acme / myproject / MyMapper.xml в соответствующие папки и в активаторе
public void start(BundleContext context) throws Exception {
getSqlSessionFactory().getConfiguration().addMapper(MyMapper.class);
}
Вроде работает. Когда мой пакет запускается, в конфигурацию добавляются мапперы. Проблема в том, что если я обновлю пакет, изменения не вступят в силу, пока я не перезапущу свой домен glassfish. Насколько я понимаю, я должен сначала удалить предыдущие картографы, но не могу найти способ сделать это. Помогите, пожалуйста.