calling pool.releaseEncoder invalidates msgType in encoded message

Examples in manual e.g. Example 7 sec 6.14.4.4 show calling pool.releaseEncoder(encoder) after the call to getEncodedObject() but this appears to invalidate the msgType in message causing a problem if this is then passed to registerClient.

Best Answer

  • This is what the documentation appears to suggest and would be logical but empirically it is not correct. Once the OMMEncoder is released the msgType in the encoded message becomes 0 (there are other changes too) and the message is not usable. The workaround is to ensure registerClient is called before releasing the encode.

Answers

  • Hi @alan.bain The returned OMM Message is completely formed after the call to getEncodedObject(), and releasing the encoder will have no effect on it. Do you have access to RFA samples and are able to compile and run them?

    See the consumer sample in \com\reuters\rfa\example\omm\cons\LoginClient.java for an example on the use and release of encoder.