在使用CLI将模块添加到JBoss之前,是否有方法进行检查?

ugmeyewa  于 2022-11-08  发布在  其他
关注(0)|答案(4)|浏览(115)

在使用JBoss CLI调用添加之前,是否有方法检查模块是否尚未添加?
例如:

module add --name=org.mysql --resources=/home/abc/drivers/mysql/MySQL5.jar

# Want to do similar check for module add

if (outcome != success) of /subsystem=datasources/jdbc-driver=org.mysql:read-resource
   # Add it...
end-if

原因是尝试添加已存在的模块导致错误。

4nkexdtk

4nkexdtk1#

domain模式下,可以执行此操作。
以下是检查模块是否存在的方法:

if (outcome != success) of /host=master/core-service=module-loading/:list-resource-loader-paths(module=your.module.name)
    echo install your.module.name ...   
    module add --name=your.module.name --dependencies=.. --resources=....jar
else 
    echo module your.module.name already installed
end-if
cyej8jka

cyej8jka2#

只有两个选项“add”和“remove”。当它们被设置在“if”语句中时,它们会失败,所以据我所知,无法检查模块是否存在。如果模块确实存在,并且执行了“add”,它会失败,如果我们试图删除一个不存在的模块,也会发生同样的情况。因此,最后我创建了两个脚本,一个用于添加模块,另一个用于删除模块。您可以在此处查看“module”命令文档:cli command to add/remove AS modules

2o7dmzc5

2o7dmzc53#

您可能需要使用try-catch语句:

try
module add --name=org.mysql --resources=/home/abc/drivers/mysql/MySQL5.jar
catch
end-try

或者如果您想覆盖它...

try
module remove --name=org.mysql
catch
end-try
module add --name=org.mysql --resources=/home/abc/drivers/mysql/MySQL5.jar
2nbm6dog

2nbm6dog4#

Wildfly将在wildfly-24.0.0.Final\modules中为您安装的每个模块创建子文件夹。因此,如果您知道当前模块的名称空间定义,则可以检查相应的文件夹是否存在,例如,对于JDBC:

wildfly-24.0.0.Final\modules\com\oracle\jdbc

相关问题