]
Ken Wills commented on WFCORE-950:
----------------------------------
Note as part of this, a couple of other issues surfaced:
- Restarting with a new --jboss-home continued to reference some files / directories in
the previous running instance's --jboss-home (Should be fixed in this change).
- The initial boot.log is always the one that continues to receive logging. (Fix in
progress).
- ModuleLoader: once loaded with getBootModuleLoader() continue to reference the initial
modules directory.
Embedded server started non-modular use first passed --jboss-home
value only
----------------------------------------------------------------------------
Key: WFCORE-950
URL:
https://issues.jboss.org/browse/WFCORE-950
Project: WildFly Core
Issue Type: Bug
Components: Domain Management
Affects Versions: 2.0.0.Beta4
Reporter: Petr Kremensky
Assignee: Ken Wills
Fix For: 3.0.0.Alpha1
First value passed as --jboss-home to embed server instance (must be an existing
directory) is always used for modules lookup and server standard paths setup within single
CLI session.
# Use wrong directory on first try, use correct directory on second try, embedded
instance still tries to boot from wrong directory
{noformat}$ pwd
/home/pkremens/workspace/jboss-eap-7.0/bin/client
$ java -jar jboss-cli-client.jar
[disconnected /] embed-server --jboss-home=/home/pkremens/workspace/jboss-eap-7.0/bin
Cannot start embedded server: WFLYEMB0014: Cannot load module org.jboss.vfs from: local
module loader @500e80c2 (finder: local module finder @75670fc4 (roots:
/home/pkremens/workspace/jboss-eap-7.0/bin/modules)): org.jboss.vfs:main
# server still tries to use /home/pkremens/workspace/jboss-eap-7.0/bin
[disconnected /] embed-server --jboss-home=/home/pkremens/workspace/jboss-eap-7.0
Cannot start embedded server: WFLYEMB0014: Cannot load module org.jboss.vfs from: local
module loader @500e80c2 (finder: local module finder @75670fc4 (roots:
/home/pkremens/workspace/jboss-eap-7.0/bin/modules)): org.jboss.vfs:main
{noformat}
# Try to manage multiple EAP distros
{noformat}
/home/pkremens/workspace2
├── eap1
│ └── jboss-eap-7.0
└── eap2
└── jboss-eap-7.0
$ java -jar jboss-cli-client.jar
[disconnected /] embed-server --jboss-home=/home/pkremens/workspace2/eap1/jboss-eap-7.0
--server-config=eap1.xml --empty-config
[standalone@embedded /] stop-embedded-server
[disconnected /] embed-server --jboss-home=/home/pkremens/workspace2/eap2/jboss-eap-7.0
--server-config=eap2.xml --empty-config
# jboss.server.*.dir point to eap1, but should point to eap2
[standalone@embedded /] /path=*:read-attribute(name=path)
...
"address" => [("path" =>
"jboss.server.log.dir")],
"result" => "/home/pkremens/workspace2/eap1/jboss-eap-7.0
"address" => [("path" =>
"jboss.server.data.dir")],
"result" =>
"/home/pkremens/workspace2/eap1/jboss-eap-7.0/standalone/data"
"address" => [("path" =>
"jboss.server.base.dir")],
"result" =>
"/home/pkremens/workspace2/eap1/jboss-eap-7.0/standalone"
"address" => [("path" =>
"jboss.server.config.dir")],
"result" =>
"/home/pkremens/workspace2/eap1/jboss-eap-7.0/standalone/configuration"
"address" => [("path" =>
"jboss.server.temp.dir")],
"result" =>
"/home/pkremens/workspace2/eap1/jboss-eap-7.0/standalone/tmp"
"address" => [("path" =>
"jboss.controller.temp.dir")],
"result" =>
"/home/pkremens/workspace2/eap1/jboss-eap-7.0/standalone/tmp"
"address" => [("path" =>
"jboss.home.dir")],
"result" =>
"/home/pkremens/workspace2/eap2/jboss-eap-7.0"
...
# Both configuration files were created in eap1 directory
$ find /home/pkremens/workspace2 | grep eap[12].xml
/home/pkremens/workspace2/eap1/jboss-eap-7.0/standalone/configuration/eap2.xml
/home/pkremens/workspace2/eap1/jboss-eap-7.0/standalone/configuration/eap1.xml
{noformat}