At a client production environment, the SOA DB auto-failover caused delivery of EDN events to stop working. When the DB came back online, all SOA composites started working. The components which were raising the EDN events were all working, but the ones receiving the event weren’t. No new instances were getting created for those components. The EDN data sources were all in running state. The MW support team was resorting to a full SOA server restart to fix the issue.
Found that the below workaround will restart the event delivery without going for a full restart.
- Goto soainfra –> Administration –> System MBean Browser –> Application Defined MBeans –> Oracle.as.soainfra.config –>EDNConfig –> edn
- Check the value of ‘Paused’ attribute. There are some known cases where an error during deployment will lead to this attribute having a value ‘True’ which will stop the delivery of events. So in that case , just update it to ‘False’ . In our case where there was a DB failover, this value was still ‘False’. So apply the below two steps to restart the event delivery.
- Change value of ‘Paused’ attribute to ‘True’ and click Apply.
- Now change the value of ‘Paused’ attributed to ‘False’ again and click Apply. This will restart the event delivery.
Note if there was a prolonged outage this would lead to all the queued up events to deliver at once which may cause significant load on the servers. So it is advisable to do this at a quiet period if the business criticality of the stopped components allows that.