问题标签 [mbeans]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
security - 部署在 weblogic 上的 mBeans Client 出现安全异常?
我试图遵循 mbeans for weblogic 的文档并创建一个 Web 应用程序来访问在服务器中部署的另一个应用程序中运行的已经创建的自定义 bean。我正在使用此代码
当我尝试访问我们的自定义 bean 时,我得到了这个异常:
不允许访问主题:principals=[],在 ResourceType:名称操作:执行,目标:myMethod
可能是什么问题呢 ?
java - Spring JMX 中 @ManagedOperation 的名称
我曾经org.springframework.jmx.export.annotation.@ManagedOperation
将一个方法公开为 MBean。
我希望操作名称与方法名称不同,但托管操作没有任何属性。
例如:
我希望这个操作以 name = "ResetCache" 公开。
java - 如何获取 MBean 绑定类实例
我正在尝试jboss-service.xml
使用 MBean 获取绑定的服务类的实例。
JBoss-Service.xml
已经定义了BasicThreadPool
我们想在我们的代码中使用它。这就是它的所在JBOSS-Service.xml
。
我正在尝试在我的代码中访问它,如下所示,
现在我有了 MBean 信息。我想要一个BasicThreadPool
在 MBean 中定义的对象的实例。可能吗 ?
我知道一种方法,我们可以从 MBean Info 中获取类名,也可以获取构造实例的属性。有没有更好的方法呢?
java - 将 MBean 从 JBoss 4.x 移植到 JBoss 7
我们目前正在将我们的一些项目从 JBoss 4.x 移植到 JBoss 7。到目前为止,一切似乎都运行良好,除了我们通常用来提供简单管理操作的 MBean。
我已经搜索了很长一段时间,但是要么我无法找到正确的搜索词,要么我缺少一些知识来弥合 JBoss 4.x 和 JBoss 7 中的 MBean 定义之间的差距。
因此,希望有人可以提供关于我可能遗漏的内容或我必须阅读的内容的提示(可能是一些文档、示例等)
在 Jboss 4.x 中,我们的 MBean 通常看起来像这样:
我们使用@Service
注解来定义对象名称和 xmbean 描述符,JBoss 会自动注册这些 mbean。
显然,在 JBoss 7 中,@Service
注释不再存在,因此需要另一种方法。
到目前为止,我设法将 MBean 手动注册到平台 mbean 服务器,但我更希望 JBoss 自动执行此操作。此外,到目前为止,我还没有设法提供方法/参数的描述(尽管这些功能更好)。
为了清楚起见,我将重复这个问题:
如何在 JBoss 7 (Java EE 6) 中定义提供以下特性的 MBean?
- 自动部署
- 访问 EJB
- 可通过 JConsole 或 JMX-Console 访问(我目前正在使用 Dimitris Andreadis 的端口)
- 提供方法/参数的描述
更新
这是我到目前为止得到的:
首先,我找到了这个投影,它使用 CDI 来包装任何带有相应注释的 bean 的注入目标,并在postConstruct()
方法中进行 JMX 注册:http ://code.google.com/p/jmx-annotations/ 。此外,对找到的 MBean 进行扫描以查找类/属性/方法/参数注释,这些注释提供了注释属性的描述。
但是,postConstruct()
似乎没有为 EJB 调用该方法(我假设这是为了不与 EJB 容器发生冲突)。因此,MBean 现在不应该是 EJB,而是普通的 CDI bean。
但是,因此具有 MBean 不会自动实例化的缺点。为了克服这个问题,有一个单例 bean,它在启动时循环遍历 中的所有 bean,BeanManager
并为找到的每个 MBean 创建一个实例。因为 MBean 仍然有它们的注入目标,所以它的postConstruct()
方法将不会被调用,并且 bean 将在 MBean 服务器中注册。
以下是启动过程的粗略概述:
- 自定义 CDI 扩展扫描每个 CDI bean 以查找自定义 @MBean 注释
- 对于每个符合条件的 MBean,注入目标都被包装
- 将启动一个单例 bean,它在其 @PostConstruct 方法中将创建 MBean 的实例
- 将
postConstruct()
调用 MBean 的注入目标的方法,从而将 MBean 注册到 MBean 服务器中
此方法的一个缺点是在执行 MBean 方法时缺少事务上下文(任何 EJB 调用都将在事务上下文中运行)。但是,如果需要,可以使用提供事务上下文的 CDI 拦截器来解决此问题。Seam 项目似乎为此提供了适当的拦截器。
我仍然不确定这是否是一种理智和稳定的方法,所以任何建设性的意见、提示等都非常受欢迎。
tomcat - 如何从 2 个 Tomcat 中访问同一个 JMX MBean 服务器
我对 JMX 和服务器有点菜鸟...我有一个多节点配置(基本上是 2 个节点),我正在它们的 MBeanServer 上创建和注册 MBean。问题是我的 2 个 Tomcat 服务器的 MBeanServer 不同,而我想要一个全局 JMX 服务器,所以我可以一次看到所有的 MBean。
对于主节点,我已将这些选项添加到 JVM 设置中:
但是如果我对第二个节点使用相同的设置,它会告诉我端口已经在使用中,这很正常。如果我不使用任何此类设置,它只会创建自己的服务器。顺便说一句,我正在获取 MBeanServer 参考 ManagementFactory.getPlatformMBeanServer()
是否有另一种方式我应该连接到最初创建的服务器?
谢谢,泰奥
service - Jboss 服务依赖于 JNDI 资源
我编写了一个 Jboss4 MBean,它依赖于名为 XAOracleDS 的其他 JNDI 资源,并在 xml 数据源文件 (*-ds.xml) 中定义。但是当我重新启动我的 JBoss 实例时,我有一个
javax.naming.NameNotFoundException:XAOracleDS 未绑定
由于我的服务的实施。我试图通过更新我的 jboss-service.xml 文件来解决这个问题,将依赖项添加到 Jboss 命名服务
,但它没有用。这是我的 jboss-service.xml
有谁知道出了什么问题?
java - 插入 MBean 拦截器
我正在一个实现 MBean 的 java 项目中工作,我需要在注册之前拦截 MBean 并更改/添加它们的属性。例子 :
domainName:name=myMBean --> domainName:name=myMBean1,type=myType
我发现这个链接介绍了如何应用默认拦截器以外的拦截器,但我不知道如何在代码中执行此操作。
提前致谢。
jmx - 行为 MBeanServerForwarder
我在这里问了一个问题,但没有得到答案。然而,我继续搜索,发现了一些可以满足我需求的东西:“ MBeanServerForwarder ”。我阅读了官方的 JavaDoc,但对我来说仍然不清楚。
那么,MBeanServerForwarder 是否作为 MBeanServer 的代理工作?即:我可以用它来拦截MBeans注册表,修改ObjectName并转发给MBeanServer吗?
提前致谢。
java - 如何以编程方式检查 JMX MBean 操作和属性?
假设我们有一个具有以下属性和操作的 MBean。
属性:名称大小
操作:getName() getSize()
有没有办法以编程方式检查属性和操作?我一直在使用 IBM WebSphere MBeans,他们的文档不是很好。
例如,如果您转到IBM 信息中心并导航到 Network Deployment -> Reference -> Programming interfaces -> Mbean interfaces -> ThreadPool。它们只有列出的属性,没有操作。
使用 WebSphere wsadmin 工具,我实际上可以查看操作和属性。我想知道是否有办法对所有 MBean 执行此操作。
java - JBoss SAR 与 EAR/WAR 封装
我什么时候会选择部署为 JBoss SAR 而不是 EAR?
这更像是一个一般性问题,我正在寻找解释每种部署模型的优缺点以及何时适用的指南。