jPOS
jPOS copied to clipboard
Fix channel name split issue in JPOS 3
In JPOS 2, the channel name format is {IP:port}, but in JPOS 3, it changes to {LocalPort} {IP:Port} (with a space between them). However, QServer splits the channel name based only on spaces, which causes unexpected behavior.
StringTokenizer tok = new StringTokenizer(channelNames, " ");
channelName = new String[tok.countTokens()];
Example:
Given the value of getISOChannelNames() returned by JPOS 3 is
10011 127.0.0.1:12345 10012 127.0.0.1:12346 10013 127.0.0.1:12346
Going thru the StringTokenizer, it will become this
channelName[0] = 10011
channelName[1] = 127.0.0.1:12345
channelName[2] = 10012
channelName[3] = 127.0.0.1:12346
Attached a photo during debugging
Fix the issue by providing a new regex.
Attach a photo of regrex checker
Add !sb.isEmpty() to the condition. Without it, getChannelNames() will start with an empty space.