question

Upvotes
Accepted
15 7 4 9

Does a completion event close the EventQueue supplied or terminates the consumer, as it were?

If I have a batch request but one RIC in the request is invalid, then it seems to fail over the whole batch

Trying to understand what these completion events are and what triggers them

treprfarfa-apijavaevent-queue
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Monitor by @Pimchaya.Wongrukun

1 Answer

· Write an Answer
Upvotes
Accepted
9.6k 10 7 7

Hello @Ethan Wong

Even batch feature sends one request with multiple items, the items are opened/closed individually as figure shown below:

Hence, invalid RIC does not fail over the whole batch. The application still receive data of valid RICs but it will get status response indicating that the steam for invalid RIC is closed as shown in example below:

- Refresh message returned for a valid RIC

	Msg Type: MsgType.REFRESH_RESP
	Msg Model Type: MARKET_PRICE
	Indication Flags: REFRESH_COMPLETE | CLEAR_CACHE
	Hint Flags: HAS_ATTRIB_INFO | HAS_ITEM_GROUP | HAS_PERMISSION_DATA | HAS_QOS | HAS_RESP_TYPE_NUM | HAS_SEQ_NUM | HAS_STATE
	State: OPEN, OK, NONE,  "All is well"
	Qos: (RT, TbT)
	Group: 00040843435879e8
	PermissionData: 030843213c ( 0x03,0x08,0x43,0x21,0x3c ) 
	SeqNum: 45630
	RespTypeNum: 0 (RespType.SOLICITED)
	AttribInfo
		ServiceName: API_ELEKTRON_EPD_RSSL
		ServiceId: 2115
		Name: JPY=
		NameType: 1 (RIC)
	Payload: 2090 bytes
		FIELD_LIST
			FIELD_ENTRY 1/PROD_PERM: 213
			FIELD_ENTRY 2/RDNDISPLAY: 153
			FIELD_ENTRY 3/DSPLY_NAME: DANSKE BANK  COP

- Status message returned for an invalid RIC

Msg Type: MsgType.STATUS_RESP
	Msg Model Type: MARKET_PRICE
	Indication Flags: 
	Hint Flags: HAS_ATTRIB_INFO | HAS_STATE
	State: CLOSED, SUSPECT, NOT_FOUND,  "The record could not be found"
	AttribInfo
		ServiceName: API_ELEKTRON_EPD_RSSL
		ServiceId: 2115
		Name: IBM.M
		NameType: 1 (RIC)
	Payload: None

Normally, the stream of batch request is closed after the request is sent to the server regardless it contains valid/invalid RICs. Hence, the application receives completion events as example below:

Receive a COMPLETION_EVENT, com.reuters.rfa.internal.session.omm.OMMBatchSubHandleImpl@4a8171b

This completion event does not close the EventQueue or terminates the consumer. The application still receive data of valid RICs.


batch.png (15.9 KiB)
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Thanks for the answer !

Makes sense to me

It was an internal error breaking the batch it turns out and thanks for the explanation on why we receive a completion event from a batch request

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.