question

Upvotes
Accepted
16 2 2 7

batch mode: Impossible to re-login after an error in the cleanup procedure

I am using the RFA java API to connect in batch mode to the exchanges.

Sometimes I get an IllegalArgumentException when I try to call the cleanup, to close the batch procedure. Afterwards it is not anymore possible to login again and any subsequent connections returns the message:

RSSLLoginHandler.respondToNewLoginRequest() - original msg did not have REFRESH, not sending a response.

At this point I have to kill the client application in order to have a new session working from scratch

2016.05.12 17:31:12.656 CEST [AWT-EventQueue-0] [ERROR] java.lang.IllegalArgumentException: Batch Close has no valid handles in the request.
2016.05.12 17:31:26.162 CEST [SwingWorker-pool-2-thread-4] [INFO] MAPP_Reuters.BatchMarketFeedLoginClient - ------> Sending login request ...
2016.05.12 17:31:26.162 CEST [SwingWorker-pool-2-thread-4] [INFO] MAPP_Reuters.BatchMarketFeedProcessorImpl - com.reuters.rfa.internal.session.SessionImpl@25c4eb0a
2016.05.12 17:31:26.163 CEST [SwingWorker-pool-2-thread-4] [INFO] MAPP_Reuters.BatchMarketFeedLoginClient - * Received Login Response - MsgType.REFRESH_RESP
MESSAGE
Msg Type: MsgType.REFRESH_RESP
Msg Model Type: LOGIN
Indication Flags: REFRESH_COMPLETE
Hint Flags: HAS_ATTRIB_INFO | HAS_ITEM_GROUP | HAS_RESP_TYPE_NUM | HAS_STATE
State: OPEN, SUSPECT, NONE, "All connections pending"
Group: 0000
RespTypeNum: 0 (RespType.SOLICITED)
AttribInfo
Name: xxxxx
NameType: 1 (USER_NAME)
Attrib
ELEMENT_LIST
ELEMENT_ENTRY ApplicationId: 358
ELEMENT_ENTRY Position: xxxxx
ELEMENT_ENTRY AllowSuspectData: 1
ELEMENT_ENTRY SingleOpen: 1
ELEMENT_ENTRY SupportBatchRequests: 1
ELEMENT_ENTRY SupportOptimizedPauseResume: 1
ELEMENT_ENTRY SupportPauseResume: 1
ELEMENT_ENTRY SupportViewRequests: 1
ELEMENT_ENTRY SupportOMMPost: 1
Payload: None
RSSLLoginHandler.respondToNewLoginRequest() - original msg did not have REFRESH, not sending a response.
treprfarfa-api
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.

Monitored by AHS/TRDC

@Gabriele.Casalinuovo

Hi.

Thank you for your participation in the forum.

Are any of the replies below satisfactory in resolving your query?

If so please can you click the 'Accept' text next to the appropriate reply. This will guide all community members who have a similar question.

Else please post again offering further insight into your question

Thanks

@Gabriele.Casalinuovo

Hello,

This is moderator team. We believe that @Steven McCoy's answer can somewhat satisfy your question, so we are going to accept his answer on your behalf.

If you have any concerns, please feel free to reply this thread.

Regards

1 Answer

· Write an Answer
Upvotes
Accepted
1.2k 23 31 44

One only has to send a single LOGIN request per connection. The warning message is indicating that a re-issue it submitted when a matching response is expected first. RFA performs a LOGIN and DIRECTORY request for every connection configured independent of what the application executes. The design behind is RFA is that the application only need send a single LOGIN and the API will replay and hide duplicate responses from each underlying session.

Batch Close requests require a list of valid handles to operate upon:

List<Handle> item_handles = new ArrayList<Handle> (...);
omm_consumer.unregisterClient (item_handles, null);

It is faster to simply close the LOGIN stream than close each individual request.

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.

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.