[
https://issues.apache.org/jira/browse/DIRMINA-778?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12859266#action_12859266
]
Jacklondon Chen commented on DIRMINA-778:
-----------------------------------------
for the code:
private void decodeNormal(Context ctx, ByteBuffer in, ProtocolDecoderOutput
out)
throws CharacterCodingException {
while (in.hasRemaining()) {
byte b = in.get();
if (delimBuf.get(matchCount) == b) { ====> this should be NOT
thread safe to access delimBuf when it's singleton.
I suggest to save this delimBuf in session attribute instead of as a class
member of TextLineDecoder .
> TextLineDecoder not thread safe?
> --------------------------------
>
> Key: DIRMINA-778
> URL: https://issues.apache.org/jira/browse/DIRMINA-778
> Project: MINA
> Issue Type: Bug
> Components: Filter
> Affects Versions: 2.0.0-RC1
> Reporter: Jacklondon Chen
> Fix For: 2.0.0
>
>
> in sample code "reverser", there is code like this:
> acceptor.getFilterChain().addLast(
> "codec",
> new ProtocolCodecFilter(new TextLineCodecFactory(Charset
> .forName("UTF-8"))));
> and that means there is only one instance of TextLineCodecFactory, which
> holds one instance of TextLineEncoder, and TextLineDecoder has a member var
> named as "IoBuffer delimBuf".
> Is it thread safe to call decode() using this delimBuf?
> I think it's a bug.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.