Hi, I have two methods raising an event - one raises the event, the other not. If I raise the event programmatically it works, but not while I am annotating the raise of the event.
First the method which does not raise the event with annotations: | @RaiseEvent(value=SeamConstants.EVENT_SPORTEQUIPMENT_CHANGED) | public String deleteSportEquipment(final SportEquipment pSportEquipment) throws PersistencyException { | Validate.notNull(pSportEquipment, "Argument pSportEquipment is mandatory"); | | try { | SportEquipment toDelete = mEntityManager.merge(pSportEquipment); | pSportEquipment.getCustomer().getSportEquipments().remove(pSportEquipment); | mEntityManager.remove(toDelete); | } catch (final Exception pException) { | mLog.error("Failed to delete sport equipment #0 of customer #1", pException, pSportEquipment.getName(), pSportEquipment.getCustomer(). | getLogin(). | getSynonym()); | throw new PersistencyBackendException("exception.persistencybackend", pException); | } finally { | //Events.instance().raiseEvent(SeamConstants.EVENT_SPORTEQUIPMENT_CHANGED); | } | | return NavigationConstants.REDISPLAY; | } | The constant NavigationConstants.REDISPLAY simply returns null. The second method which raises the event with annotations: @RaiseEvent(value=SeamConstants.EVENT_SPORTEQUIPMENT_CHANGED) | public String persistSportEquipment(final SportEquipment pSportEquipment) throws PersistencyException { | Validate.notNull(pSportEquipment, "Argument pSportEquipment is mandatory"); | | SportEquipment sportEquipment = null; | | // update first if id already set, if id is null we have a fresh sport equipment | if (null != pSportEquipment.getId()) { | sportEquipment = mEntityManager.merge(pSportEquipment); | } else { | sportEquipment = pSportEquipment; | sportEquipment.getCustomer().getSportEquipments().add(sportEquipment); | } | | try { | mEntityManager.persist(sportEquipment); | } catch (final Exception pException) { | mLog.error("Failed to save changed for sport equipment #0 of customer #1", pException, pSportEquipment.getName(), pSportEquipment.getCustomer(). | getLogin(). | getSynonym()); | throw new PersistencyBackendException("exception.persistencybackend", pException); | } finally { | //Events.instance().raiseEvent(SeamConstants.EVENT_SPORTEQUIPMENT_CHANGED); | } | | return NavigationConstants.SUCCESS; | } While looking at the code; Do you see anything that is wrong? The only difference I see is the return value. I validated, that if null is returned, the event is not fired. But If I return a value, the event is fired. I suppose this is a bug?! Regards, Cyrill View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4128153#4128153 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4128153 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user