Я просто попытался добавить регистрацию моего пользовательского ORMObjectListener с экземплярами и реализациями, и это не работает.Я вижу, что все системные ORMObjectListener-ы зарегистрированы в методе onReadyHook () картриджа, но я хотел бы попытаться зарегистрировать их в каркасе компонентов.
Я добавил следующее к реализациям.component:
<implementation name="ProductPODeleteListener" class="hr.a1.orm.product.internal.ProductPODeleteListener" start="start" stop="stop" factory="JavaBeanFactory"/>
И следующее для instances.component:
<instance name="ProductPODeleteListener" with="ProductPODeleteListener" scope="global"/>
Это метод запуска ProductPODeleteListener:
public synchronized void start() {
productFactory.addObjectListener(this);
}
Но мой пользовательский слушатель не зарегистрирован (метод запуска никогда не вызывается).В файле журнала видно, что реализация загружается при запуске:
"Adding implementation ProductPODeleteListener to configuration bc_a1_orm."
Неужели я что-то не так сделал?
Может быть, чего не хватает, так это вызова componentMgr.getGlobalComponentInstance ("ProductPODeleteListener")?Как указано здесь: https://support.intershop.com/kb/index.php/Display/25G731#Concept-ComponentFramework-InGeneral -> «ComponentFW будет создавать экземпляры всех определенных экземпляров при первом доступе».Я не думаю, что можно зарегистрировать слушателей с помощью компонентной инфраструктуры, так как они должны быть зарегистрированы при запуске сервера.Это правильно?
Спасибо за помощь!