@GET @Produces( MediaType.APPLICATION_JSON ) @Path( KERNEL_NAME_PATH ) public Response currentKernelInstance( @Context Database database ) { Kernel kernelBean = database.getGraph().getDependencyResolver().resolveDependency( JmxKernelExtension.class ) .getSingleManagementBean( Kernel.class ); return Response.ok( "\"" + kernelBean.getMBeanQuery() .toString() + "\"" ) .type( MediaType.APPLICATION_JSON ) .build(); }
@Override public String getStoreId() { return proxy.getStoreId(); }
@Override public Date getKernelStartTime() { return proxy.getKernelStartTime(); }
@Override public String getKernelVersion() { return proxy.getKernelVersion(); }
@Override public Date getStoreCreationDate() { return proxy.getStoreCreationDate(); }
@Override public String getDatabaseName() { return proxy.getDatabaseName(); }
public static ObjectName getObjectName( GraphDatabaseService db, String name ) { if ( !(db instanceof GraphDatabaseAPI) ) { throw new IllegalArgumentException( "Can only resolve object names for embedded Neo4j database " + "instances, eg. instances created by GraphDatabaseFactory or HighlyAvailableGraphDatabaseFactory." ); } ObjectName neoQuery = ((GraphDatabaseAPI)db).getDependencyResolver().resolveDependency( JmxKernelExtension.class ) .getSingleManagementBean( Kernel.class ).getMBeanQuery(); String instance = neoQuery.getKeyProperty( "instance" ); String domain = neoQuery.getDomain(); try { return new ObjectName( format( "%s:instance=%s,name=%s", domain, instance, name ) ); } catch ( MalformedObjectNameException e ) { throw new RuntimeException( e ); } }
private MBeanInfo kernelMBeanInfo() throws Exception { Kernel kernel = ((GraphDatabaseAPI) graphdb).getDependencyResolver().resolveDependency( JmxKernelExtension .class ).getSingleManagementBean( Kernel.class ); ObjectName query = kernel.getMBeanQuery(); Hashtable<String, String> properties = new Hashtable<>( query.getKeyPropertyList() ); properties.put( "name", Kernel.NAME ); return getPlatformMBeanServer().getMBeanInfo( new ObjectName( query.getDomain(), properties ) ); } }
@Override public ObjectName getMBeanQuery() { return proxy.getMBeanQuery(); }
private void availableBeans( MBeanServer mbeans, Kernel kernel, StringBuilder result ) { result.append( "Available Management Beans\n" ); for ( Object name : mbeans.queryNames( kernel.getMBeanQuery(), null ) ) { result.append( "* " ); result.append( ((ObjectName) name).getKeyProperty( "name" ) ); result.append( "\n" ); } } }
@GET @Produces( MediaType.APPLICATION_JSON ) @Path( KERNEL_NAME_PATH ) public Response currentKernelInstance( @Context Database database ) { Kernel kernelBean = database.getGraph().getDependencyResolver().resolveDependency( JmxKernelExtension.class ) .getSingleManagementBean( Kernel.class ); return Response.ok( "\"" + kernelBean.getMBeanQuery() .toString() + "\"" ) .type( MediaType.APPLICATION_JSON ) .build(); }
public static ObjectName getObjectName( GraphDatabaseService db, String name ) { if ( !(db instanceof GraphDatabaseAPI) ) { throw new IllegalArgumentException( "Can only resolve object names for embedded Neo4j database " + "instances, eg. instances created by GraphDatabaseFactory or HighlyAvailableGraphDatabaseFactory." ); } ObjectName neoQuery = ((GraphDatabaseAPI)db).getDependencyResolver().resolveDependency( JmxKernelExtension.class ) .getSingleManagementBean( Kernel.class ).getMBeanQuery(); String instance = neoQuery.getKeyProperty( "instance" ); String domain = neoQuery.getDomain(); try { return new ObjectName( format( "%s:instance=%s,name=%s", domain, instance, name ) ); } catch ( MalformedObjectNameException e ) { throw new RuntimeException( e ); } }
mbean = kernel.getMBeanQuery(); Hashtable<String, String> properties = new Hashtable<>( mbean.getKeyPropertyList() ); properties.put( "name", bean );