Use JMX Bean from sourcecode org.apache.jackrabbit.oak: External Identity Synchronization Management | Community
Skip to main content
New Participant
October 16, 2015
Solved

Use JMX Bean from sourcecode org.apache.jackrabbit.oak: External Identity Synchronization Management

  • October 16, 2015
  • 12 replies
  • 5949 views

Hi

In CQ 5.5 we connected to the ldap jmx bean via: 

javax.management.MBeanServer.getClassLoaderFor("com.adobe.granite.ldap:host=localhost,port=10389,type=Tools")

e.g. for the operation syncAllExternalUsers(), which worked fine.

Now with AEM 6.1 I try to use the new JMX Bean via:

javax.management.MBeanServer.getClassLoaderFor("org.apache.jackrabbit.oak:handler=mySyncHandler,idp=ldap")

but I get the following exception:

javax.management.InstanceNotFoundException:org.apache.jackrabbit.oak.spi.security.authentication.external.impl.jmx.SynchronizationMBean:handler=mySyncHandler,idp=ldap

If I run the syncAllExternalUsers() manually via AEM Web Console, the function works fine. I also tried to connect to the bean with org.apache.jackrabbit.oak.spi.security.authentication.external.impl.jmx.SynchronizationMBean:handler=mySyncHandler,idp=ldap .

Does anyone have an idea, how I an call the new bean in AEM 6.1?

Thanks alot

Reto

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by awadheshv

Try this:

connect to your cq jmx port via jconsole. (jconsole is located at $jdk_home/bin/jconsole). open jconsole. connect to your CQ instance from the available process. then in the Mbeans tab see if your MBean is registered there. it will also help determine if anything is wrong with the objectname string. whatever objectname is listed there is what should be provided in the code.

this should look something like that in the attached shreenshot.

12 replies

awadheshvAccepted solution
New Participant
October 16, 2015

Try this:

connect to your cq jmx port via jconsole. (jconsole is located at $jdk_home/bin/jconsole). open jconsole. connect to your CQ instance from the available process. then in the Mbeans tab see if your MBean is registered there. it will also help determine if anything is wrong with the objectname string. whatever objectname is listed there is what should be provided in the code.

this should look something like that in the attached shreenshot.

New Participant
October 16, 2015

Hi awadheshv

Thanks alot for your hint with the jconsole. This solved my problem. I figured out that my objectname was wrong. I have to use the following objectname: org.apache.jackrabbit.oak:name=External Identity Synchronization Management,handler="mySyncHandler",type=UserManagement,idp="ldap"