当前位置: 首页 > 知识库问答 >
问题:

如何使用JBoss Wildfly查询活动会话的数量?

欧阳斌
2023-03-14
ObjectName name = new ObjectName(jboss.web:type=Manager,path=/MyWebApp,host=default-host);
MBeanServer jboss = MBeanServerLocator.locateJBoss();
this.sessions = new Long((Integer) jboss.getAttribute(name, "activeSessions"));

这不再适用于JBoss Wildfly。我真的找不到合适的文档来访问当前版本JBoss的相同信息。

我遇到过一些链接,比如http://blog.akquinet.de/2014/09/15/monitoring-the-jboss-eap-wildfly-application-server-with-the-command-line-interface-cli/,这些链接暗示了该信息的完全不同的位置-- ,但我不知道如何通过Java代码访问它。

/deployment=example.ear/subdeployment=example-web.war/subsystem=under

JBoss7中对-dorg.apache.tomcat.util.enable_modeler=true的旧引用也没有帮助。我以前通过MBean“jboss.web:type=manager,path=/,host=localhost”not found提出的问题不再起作用了。

共有1个答案

微生嘉
2023-03-14

假设您正在部署一个WAR文件;objectname应该类似于jboss.as:deployment=yourwar.war,subsystem=undertow

请注意,在Wildfly-Management的情况下,本机端口是9990而不是9999

如果您使用的是maven,请添加以下依赖项。

    <dependency>
        <groupId>org.jboss.remotingjmx</groupId>
        <artifactId>remoting-jmx</artifactId>
        <version>2.0.0.Final</version>
    </dependency>
public static void main(String[] args) throws Exception {

    ObjectName mBeanName = new ObjectName("jboss.as:deployment=wildfly-helloworld-rs.war,subsystem=undertow");

    String host = "localhost";
    int port = 9990;  // management-native port

    String urlString = System.getProperty("jmx.service.url", "service:jmx:http-remoting-jmx://" + host + ":" + port);
    JMXServiceURL serviceURL = new JMXServiceURL(urlString);
    JMXConnector jmxConnector = JMXConnectorFactory.connect(serviceURL, null);
    MBeanServerConnection connection = jmxConnector.getMBeanServerConnection();

    System.out.println("Value via JMX: activeSessions: " + connection.getAttribute(mBeanName, "activeSessions"));
    System.out.println("Value via JMX: contextRoot: " + connection.getAttribute(mBeanName, "contextRoot"));
}
 类似资料:
  • 问题内容: 如何获得服务器上所有活动的PHP会话的列表并从一个用户实例中访问它们? 激励的情况是显示站点上所有当前活动用户的列表,用户名存储在每个用户的PHP会话中。 注意:我知道我可以通过数据库(甚至文件系统)创建自己的状态,但是我正在寻找一种利用内置PHP会话机制的方法。 问题答案: 看到响应,尽管有可能,但这并不意味着您 应该 这样做。会话的存储格式没有记录,并且可能随时更改(即使在次要版本

  • 我正在用会话加载数据,但没有看到我在其他地方所做的更改。 “由于在刷新过程中出现以前的异常,此会话的事务已回滚。”(或类似) 但是为什么flush()坚持发布回滚? 但是为什么一个自动调用回滚不够?为什么我必须再次回滚? 如何创建一个始终为每个查询添加特定筛选器的查询? 我的查询返回的对象数与查询.count()告诉我-为什么? 我已经创建了一个针对外部联接的映射,当查询返回行时,不会返回任何对象

  • 获取会员开卡活动对应卡权益查询,需通过营销中心——会员开卡/续费奖励设置(该活动需开启小果会员或者多卡型会员权益插件开通) 请求参数说明 参数 描述 必填 示例值 类型 最大长度 action 接口参数组 是 object └action 需要调用的接口名称 是 mb_right_list string 请求示例 { "action": { "action": "mb_right_li

  • 是否可以限制siteminder SP上受保护资源上的活动用户数?我想确保受保护的资源被有限数量的活动用户使用,比如说n。 谢谢Andrea

  • 我想这是一个标准的知识问题,但是是否会以线程形式运行? 我想要的是与生产者/消费者的并发会话,这些会话编写/监听他们的特定队列。我已经尝试通过将连接传递给线程来编写一个自定义线程,但是当我创建生产者时,我遇到了一个错误,“我不能在未注册的会话上启动生产者”。

  • 问题内容: 我用来登录远程服务器。 问题 : 当我在工作场所时,它始终保持连接并且可以正常工作。不幸的是,在我在家中与远程服务器连接后,终端会在10到15分钟内死机。 控制台上没有错误/超时报告,但是光标不能再移动了。 输入检查登录用户时,那里有一些僵尸登录用户,我必须手动将其杀死。 这很烦人。谁能帮我? 问题答案: 在客户端运行的ssh守护程序(sshd),如果客户端变为静默(即,不发送信息),