@ Override public void subscribeToMatchedBet ( ExecutionContext ctx , Object [ ] args , ExecutionObserver executionObserver ) { if ( getEventTransportIdentity ( ctx ) . getPrincipal ( ) . getName ( ) . equals ( SONIC_TRANSPORT_INSTANCE_ONE ) ) { this . matchedBetObserver = executionObserver ; } }
Please note that this Service method is called by the Execution Venue to establish a communication channel from the transport to the Application to publish events . In essence the transport subscribes to the app so this method is called once for each publisher at application initialisation . You should never be calling this directly . The application should hold onto the passed in observer and call onResult on that observer to emit an event .