Skip to Main Content

Integration

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Get cache key set via REST api?

2644841Apr 30 2014 — edited May 1 2014

I am using the Coherence REST API  against Coherence 3.7.1 as detailed here: Building Your First Coherence REST Application

I am able the query my caches successfully via REST to retrieve the values.

However, I cannot find any documentation regarding the use of the REST API to retrieve the cache keys.

Does anyone know if this can be done?

Thanks

Comments

877753
Hi,
I'm pasting few lines in which you can fetch the diagnosticManager and then do the appropriate Mbean calls for creating Diagnostic profiles via java code.

import com.bea.wlevs.management.diagnostic.DiagnosticProfileMBean;
import com.bea.wlevs.management.diagnostic.DiagnosticProfileManagerMBean;
import javax.management.MBeanServerConnection;
import javax.management.MBeanServerInvocationHandler;
import java.lang.management.ManagementFactory;
import javax.management.ObjectName;
import javax.management.ObjectInstance;
import org.w3c.dom.Node;


MBeanServerConnection conn=ManagementFactory.getPlatformMBeanServer();
private static DiagnosticProfileManagerMBean diagNosticManager=null;
private static Node updateprofileNode=null;
ObjectName diagProfileObjectName;
try {
diagProfileObjectName = ObjectName.getInstance("com.bea.wlevs:Name=ProfileManager,Type=ProfileManager,Application=diagnostic");
} catch (Exception e) {
throw new RuntimeException(e);
}
diagNosticManager=(DiagnosticProfileManagerMBean) MBeanServerInvocationHandler.newProxyInstance(conn, diagProfileObjectName, DiagnosticProfileManagerMBean.class, false);

Now we can use diagNosticManager.createDiagnosticProfile(String profileName, ObjectName[] probeNames) method to create the diagnostic profile.

Thanks
Patha
938644
Tnanks,
I tried this. now I'm getting :

javax.management.InstanceNotFoundException: com.bea.wlevs:Name=ProfileManager,Type=ProfileManager,Application=diagnostic
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(DefaultMBeanServerInterceptor.java:1094)

What did I do wrong?
938644
Hi again ..

I think I know where is the problem but I don't know how to solve it:
i use these lines to make a connection :
..

env.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES, "com.bea.core.jmx.remote.provider");
System.setProperty("mx4j.remote.resolver.pkgs", "com.bea.core.jmx.remote.resolver");
connector = JMXConnectorFactory.newJMXConnector(serviceUrl, env);

connector.connect(env);
connection = connector.getMBeanServerConnection();
....
and you suggested to use this :

connection=ManagementFactory.getPlatformMBeanServer();


I think there is inconsistency in the typs of the connection mbean.
Neither of of them works fine:

The first one works fine for getting troughput , averageLatency and so on ,
BUT, when i try to terminate ( unregister from the mbean server ),
and than re-connect again, the numbers i'm getting are wrong.

In the second type (ManagementFactory.getPlatformMBeanServer() ) , when I want to use as a profile creator ( like in the 'Visualizer' tool - which works fine )
I don't know which of the types to use.

What is your recommendation to to use : for temintinag the probeRuntime, and for making a profile .

again, neither of them works all the way!
Plz help.
1 - 3
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on May 29 2014
Added on Apr 30 2014
1 comment
1,026 views