Имам и OSGi архитектура и използвам xml mappers+интерфейси (както се препоръчва).
Конфигурационният файл на Mybatis поставих в папка glassfish/domains/domain1/config. Тази конфигурация се зарежда при първото извикване на MyBatisConnectionFactory. Това е добре.
Сега всеки пакет има свои собствени карти. Мога да ги добавя динамично чрез поставяне
com.acme.myproject.MyMapper и com/acme/myproject/MyMapper.xml в относителни папки и в Activator
public void start(BundleContext context) throws Exception {
getSqlSessionFactory().getConfiguration().addMapper(MyMapper.class);
}
Изглежда, че работи. Когато моят пакет стартира, картографите се добавят към конфигурацията. Проблемът е, че ако актуализирам пакета, промените не влизат в сила, докато не рестартирам своя домейн glassfish. Доколкото разбирам, първо трябва да премахна предишни картографи, но не мога да намеря начин да го направя. Моля, помогни ми.