From: <tk...@hy...> - 2008-01-04 02:44:18
|
Author: tkeeney Date: 2008-01-03 18:44:07 -0800 (Thu, 03 Jan 2008) New Revision: 7401 URL: http://svn.hyperic.org/?view=rev&root=Hyperic+HQ&revision=7401 Modified: branches/HQ_3_1/src/org/hyperic/hq/bizapp/server/mdb/RegisteredDispatcherEJBImpl.java Log: [HQ-1115] If flushing the state for one multi condition fails with an exception, then make sure to attempt to flush the state for the remaining multi condition triggers. This is especially necessary since the shared lock on the trigger is released when the state is flushed. Backported (in essence but not verbatim) from 3.2. Modified: branches/HQ_3_1/src/org/hyperic/hq/bizapp/server/mdb/RegisteredDispatcherEJBImpl.java =================================================================== --- branches/HQ_3_1/src/org/hyperic/hq/bizapp/server/mdb/RegisteredDispatcherEJBImpl.java 2008-01-04 02:17:25 UTC (rev 7400) +++ branches/HQ_3_1/src/org/hyperic/hq/bizapp/server/mdb/RegisteredDispatcherEJBImpl.java 2008-01-04 02:44:07 UTC (rev 7401) @@ -195,8 +195,10 @@ trigger.releaseExclusiveLock(); } } - } catch (InterruptedException e) { - // move on + } catch (Throwable e) { + // continue flushing the other triggers + log.error("Failed to flush state for multi " + + "conditional trigger id="+trigger.getId(), e); } } } |