Currently it uses java.rmi.Naming.list(<serviceName>) to detect if the JMX service is available. But it has following issues:
1. Both JMXStartupService and ActiveJmsResourceAdapter are PostConstruct, the startup order will be random if there is no dependency between them. But logically ActiveJmsResourceAdapter depends on JMXStartupService for its resource.
2. If JMX service is secured (RMI via SSL), then Naming.list() doesn’t work.
So to me it is better to check status of JMXStartupService in ActiveJmsResourceAdapter . Any other approaches?
Thanks,
David Zhao
From: Sahoo
Sent: Friday, July 19, 2013 2:01 PM
To: dev_at_glassfish.java.net
Cc: David Zhao; Romain Grecourt
Subject: Re: pom review request
How has it been done so far that we needed this change now?
On Friday 19 July 2013 11:16 AM, David Zhao wrote:
For embedded JMS mode, GF relies on JMXStartupService in mbeanserver module which initializes GF JMX service and thus MQ can integrate its mbeans into it instead of creating its own JMX service.
Thanks,
David Zhao
From: Sahoo
Sent: Friday, July 19, 2013 1:41 PM
To: HYPERLINK "mailto:dev_at_glassfish.java.net"dev_at_glassfish.java.net
Cc: David Zhao; Romain Grecourt
Subject: Re: pom review request
Why does jms now depend on mbeanserver module?
Sahoo
On Friday 19 July 2013 11:09 AM, David Zhao wrote:
Hi Romain,
Could you please review the following pom change?
Index: D:/work_dir/glassfish/trunk/all/main/appserver/jms/jms-core/pom.xml
===================================================================
--- D:/work_dir/glassfish/trunk/all/main/appserver/jms/jms-core/pom.xml (revision 62357)
+++ D:/work_dir/glassfish/trunk/all/main/appserver/jms/jms-core/pom.xml (working copy)
@@ -92,6 +92,11 @@
<version>${project.version}</version>
</dependency>
<dependency>
+ <groupId>org.glassfish.main.common</groupId>
+ <artifactId>glassfish-mbeanserver</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
<groupId>org.glassfish.main.connectors</groupId>
<artifactId>connectors-internal-api</artifactId>
<version>${project.version}</version>
Thanks,
David Zhao