[
https://issues.jboss.org/browse/WFCORE-1417?page=com.atlassian.jira.plugi...
]
Tom Fonteyne updated WFCORE-1417:
---------------------------------
Steps to Reproduce:
1. Attempt to connect via CLI.connect(...)
2. Connection fails because EAP is not running yet. CLI throws
"java.lang.IllegalStateException: Unable to connect to controller"
3. Attempt to connect again.
4. CLI throws exception "java.lang.IllegalStateException: Already connected to
server."
This message is incorrect. No connection has been established and should you
'accept' this fact, then any subsequent action (for example sending a command)
will fail
was:
1. Attempt to connect via CLI.connect(...)
2. Connection fails because EAP is not running yet. CLI throws
"java.lang.IllegalStateException: Unable to connect to controller"
3. Attempt to connect again.
4. CLI throws exception "java.lang.IllegalStateException: Already connected to
server."
** This message is incorrect. No connection has been established and should you
'accept' this fact, then any subsequent action (for example sending a command)
will fail
org.jboss.as.cli.scriptsupport.CLI connect methods do not properly
reset the ctx upon failure making in turn checkNotConnected() to report incorrectly
------------------------------------------------------------------------------------------------------------------------------------------------------
Key: WFCORE-1417
URL:
https://issues.jboss.org/browse/WFCORE-1417
Project: WildFly Core
Issue Type: Bug
Components: CLI
Affects Versions: 2.1.0.CR1
Reporter: Tom Fonteyne
Assignee: Alexey Loubyansky
Priority: Minor
cli/src/main/java/org/jboss/as/cli/scriptsupport/CLI.java
public void connect() {
checkAlreadyConnected();
try {
ctx = CommandContextFactory.getInstance().newCommandContext();
ctx.connectController();
} catch (CliInitializationException e) {
throw new IllegalStateException("Unable to initialize command
context.", e);
} catch (CommandLineException e) {
throw new IllegalStateException("Unable to connect to controller.",
e);
}
}
also applicable to the other connects of course.
If the connection fails in the connect method, a subsequent connect will hit:
private void checkAlreadyConnected() {
if (ctx != null) throw new IllegalStateException("Already connected to
server.");
}
and will fail for the wrong reason... as while ctx !=null is true, but the connection had
failed.
ergo, upon failure in connect, the ctx should be reset to avoid this
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)