我正在关注以下教程:https://github.com/jbosstm/quickstart/tree/master/XTS/ssl
使用jboss-cli成功添加了安全领域:
/core-service=management/security-realm=SSLRealm:add()
/core-service=management/security-realm=SSLRealm/server-identity=ssl:add( \
   keystore-path=./standalone/configuration/server.keystore, \
   keystore-password=client, \
   alias=client)
当我尝试添加一个https-listener:
/subsystem=undertow/server=default-server/https-listener=https:add( \
    socket-binding="https", security-realm="SSLRealm" \
)
WildFly抛出一个异常:
{
  "outcome" => "failed",
  "failure-description" => "JBAS014750: Operation handler failed to complete",
  "rolled-back" => true
}
任何想法如何添加https-listener?
有没有人有使用CLI在Wildfly中设置消息传递子系统的示例脚本?
完美的示例是使服务器运行standalone.xml所需的CLI,并且在运行CLI脚本之后,它具有standalone-full.xml中定义的消息传递子系统.
到目前为止我发现的例子都是从消息子系统已经到位的假设开始的.
我们正在尝试使用该jboss-cli.bat命令读取JBoss状态.
jboss-cli.bat -c --command=":read-attribute(name=server-state)" > "$env:JBOSS_HOME\JbossServerStatus.txt"
将状态存储在TXT文件中.由于" 按任意键继续 ",控制器不会返回.
是否有任何方法可以忽略按任意键继续而不编辑jboss-cli.bat?我们知道通过添加set NOPAUSE = true,将避免这个问题,但我们正在寻找解决方案而不编辑文件.
我正在使用Wildfly 10.起初我尝试通过CLI创建数据源.
命令deploy mysql-connector-java-6.0.4.jar执行得很好.
/subsystem=datasources:installed-drivers-list显示已安装驱动程序
{
    "driver-name" => "mysql-connector-java-6.0.4.jar",
    "deployment-name" => "mysql-connector-java-6.0.4.jar",
    "driver-module-name" => undefined,
    "module-slot" => undefined,
    "driver-datasource-class-name" => undefined,
    "driver-xa-datasource-class-name" => undefined,
    "driver-class-name" => "com.mysql.cj.jdbc.Driver",
    "driver-major-version" => 6,
    "driver-minor-version" => 0,
    "jdbc-compliant" => false
}
但数据源不是使用命令创建的
data-source add --name=zktest-datasource
--jndi-name=java:/jdbc/zktest-database --driver-name=mysql-connector-java-6.0.4.jar --connection-url=jdbc:mysql://localhost:3306/zktest --user-name=root --password=111
连接测试
/subsystem=datasources/data-source=zktest-datasource:test-connection-in-pool
was failed.
现在我尝试使用创建数据源 standalone.xml
我的 modules.xml
<module xmlns="urn:jboss:module:1.1" name="com.mysql.jdbc">
  <resources>
    <resource-root path="mysql-connector-java-6.0.4.jar">
  </resource-root>
  </resources>
  <dependencies>
    <module name="javax.api"></module>
    <module name="javax.transaction.api"></module>
  </dependencies>
</module>
modules.xml 放入 JBOSS_HOME/modules/system/layers/base/com/mysql/jdbc
"数据源"部分 JBOSS_HOME/standalone/configuration/standalone.xml
<datasources>
        <datasource jndi-name="java:jboss/datasources/ExampleDS" …我有一个使用多个 JMS 队列的应用程序。该应用程序的问题在于它几乎不创建任何日志。我想避免停止应用程序,更新源并再次启动它(但是,如果没有其他方法可以做到这一点,我将被迫这样做)。应用程序在远程服务器上运行,因此远程调试只是由于消息量而造成的痛苦。
我在想,是否有办法在不中断应用程序流的情况下查看队列中消息的内容。到目前为止,我一直在尝试使用 jboss-cli 来做到这一点。首先,我用命令暂停了队列处理:
/subsystem=messaging-activemq/server=default/jms-queue=myQueues.input:pause
之后,我获得了队列的内容:
/subsystem=messaging-activemq/server=default/jms-queue=myQueues.input:list-messages
得到以下输出:
{
"outcome" => "success",
"result" => [{
    "JMSPriority" => 3,
    "JMSMessageID" => "ID:d50aef44-edcc-441c-818c-7d97200926cf",
    "someOfMyKeys" => "someOfMyValues",
    "JMSExpiration" => 1487255104511L,
    "__AMQ_CID" => "ecdec0e2-b7c1-4d2e-b55b-317c38023b1b",
    "JMSTimestamp" => 1487255094511L,
    "JMSDeliveryMode" => "NON_PERSISTENT"
}]
}
毕竟,我已经恢复了队列:
/subsystem=messaging-activemq/server=default/jms-queue=myQueues.input:resume
然而,这并没有返回消息的实际内容。如果我能以字节格式(类似于 tcpdump 输出)获取内容就足够了。
有没有办法实现它,或者我必须使用我之前提到的方法(远程调试/应用程序源更改)?
是否可以在 JBoss ClI 中回显系统变量?
jboss.server.config.dir
jboss.home.dir
来自https://docs.jboss.org/author/display/WFLY8/Command+line+parameters标题“独立”下的表格。
我是 jboss-cli 的新手,正在研究“jboss-cli 食谱”。
问题
如何使用 jboss-cli读取一个特定属性?例如
语境
“CLI Recipes”文档有一个有用的示例来获取所有系统属性。然而它的“信息太多”。我想编写读取一个特定属性的脚本。
https://docs.jboss.org/author/display/WFLY10/CLI+Recipes#CLIRecipes-
JBoss AS7+ 中所有系统属性的概述,包括操作系统系统属性和使用 -D、-P 或 --properties 参数在命令行上指定的属性。
Standalone
[standalone@IP_ADDRESS:9999 /] /core-service=platform-mbean/type=runtime:read-attribute(name=system-properties)
提前致谢
有没有办法通过脚本将模块部署到 Wildfly (例如,无需手动修改 XML 文件)?我知道jboss-cli.sh命令 toadd module但有没有办法直接修改我的standalone.xml/domain.xml或做一些等效的事情来告诉 Wildfly 加载模块?
换种说法...
我发现了两种部署模块的方法:
1) 直接将jar复制到热部署中$KEYCLOAK_HOME/standalone/deployments
   (根据该目录中的README,不建议将此方法用于生产部署,但之后无需任何手动工作即可工作。)
2)运行jboss-cli.sh --command="module add --name=com.example.MySpi"然后手动编辑standalone.xml(或domain.xml)以将您的模块放在“提供者”列表中,如下所示:
<subsystem xmlns="urn:jboss:domain:keycloak-server:1.1">
  <web-context>auth</web-context>
  <providers>
    ...
    <provider>module:com.example.MySpi</provider>
  </providers>
  ...
</subsystem>
...最后重启服务器。
我想使用推荐的方式,但不手动编辑 XML 文件。有没有推荐的路径?
我正在将 MySQL 添加为 Wildfly 的数据源
我可以通过jboss-cli.sh将useSSL=false参数插入到 connection-url 标记中
这很完美,但是当我启动服务器时,它告诉我明确设置useSSL=false
/subsystem=datasources/data-source=KeycloakMysqlDS:add(
    jndi-name=java:jboss/datasources/KeycloakMysqlDS, 
    driver-name=mysql, 
    connection-url=jdbc:mysql://localhost:3306/keycloak,
    user-name=keycloak,
    password=keycloak,
    max-pool-size=15,
    min-pool-size=5
)
如果我将它与 jboss-cli.sh 一起使用
connection-url=jdbc:mysql://localhost:3306/keycloak?useSSL=false
我收到这个错误
{
    "outcome" => "failed",
    "failure-description" => "WFLYCTL0097: Wrong type for 'connection-url'. Expected [EXPRESSION, STRING] but was OBJECT",
    "rolled-back" => true
}
有没有办法通过 jboss-cli.sh 做到这一点?
jboss-cli ×9
wildfly ×8
jboss ×5
datasource ×2
keycloak ×2
mysql ×2
batch-file ×1
jakarta-ee ×1
java ×1
jms ×1