您现在的位置是:主页 > news > 贵阳做网站的公司/快排seo

贵阳做网站的公司/快排seo

admin2025/4/26 2:35:43news

简介贵阳做网站的公司,快排seo,python教程,wordpress放广告我试图使用MBean获取jboss-service.xml中绑定的服务类的实例.JBoss-Service.xml定义了一个BasicThreadPool,我们希望在我们的代码中使用它.这就是JBOSS-Service.xml中的内容.code"org.jboss.util.threadpool.BasicThreadPool"name"jboss.system:serviceThreadPo…

贵阳做网站的公司,快排seo,python教程,wordpress放广告我试图使用MBean获取jboss-service.xml中绑定的服务类的实例.JBoss-Service.xml定义了一个BasicThreadPool,我们希望在我们的代码中使用它.这就是JBOSS-Service.xml中的内容.code"org.jboss.util.threadpool.BasicThreadPool"name"jboss.system:serviceThreadPo…

我试图使用MBean获取jboss-service.xml中绑定的服务类的实例.

JBoss-Service.xml定义了一个BasicThreadPool,我们希望在我们的代码中使用它.

这就是JBOSS-Service.xml中的内容.

code="org.jboss.util.threadpool.BasicThreadPool"

name="jboss.system:service=ThreadPool">

JBoss System Threads

System Threads

60000

10

1000

run

我试图在我的代码中访问它,如下所示,

MBeanServer server = MBeanServerLocator.locateJBoss();

MBeanInfo mbeaninfo = server.getMBeanInfo(new ObjectName("jboss.system:service=ThreadPool"));

现在我有MBean信息.我想在MBean中定义一个BasicThreadPool对象的实例.可能吗 ?

我知道一种方法,我们可以从MBean Info中获取类名,我们也可以获得构造实例的属性.有没有更好的方法呢?

解决方法:

正如skaffman指出的那样,你无法直接获取线程池的直接实例,但使用MBeanServerInvocationHandler会让你非常接近.

import org.jboss.util.threadpool.BasicThreadPoolMBean;

import javax.management.MBeanServerInvocationHandler;

import javax.management.ObjectName;

.....

BasicThreadPoolMBean threadPool = (BasicThreadPoolMBean)MBeanServerInvocationHandler.newProxyInstance(MBeanServerLocator.locateJBoss(); new ObjectName("jboss.system:service=ThreadPool"), BasicThreadPoolMBean.class, false);

该示例中的threadPool实例现在实现了底层线程池服务的所有方法.

请注意,如果您只需要它来提交执行任务,那么您只需要一件事,那就是Instance属性[几乎]是相同的界面,所以您也可以这样做:

import org.jboss.util.threadpool.ThreadPool;

import javax.management.ObjectName;

.....

ThreadPool threadPool = (ThreadPool)MBeanServerLocator.locateJBoss().getAttribute(new ObjectName("jboss.system:service=ThreadPool"), "Instance");

….但不是远程,只能在同一个VM中.

标签:jboss5-x,mbeans,java,jmx

来源: https://codeday.me/bug/20191008/1875409.html