当前位置: 首页>>代码示例>>Java>>正文


Java OpenMBeanOperationInfo类代码示例

本文整理汇总了Java中javax.management.openmbean.OpenMBeanOperationInfo的典型用法代码示例。如果您正苦于以下问题:Java OpenMBeanOperationInfo类的具体用法?Java OpenMBeanOperationInfo怎么用?Java OpenMBeanOperationInfo使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


OpenMBeanOperationInfo类属于javax.management.openmbean包,在下文中一共展示了OpenMBeanOperationInfo类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getOperation

import javax.management.openmbean.OpenMBeanOperationInfo; //导入依赖的package包/类
private OpenMBeanOperationInfo getOperation(String name, OpenMBeanParameterInfo addWildcardChildName, OperationEntry entry) {
    ModelNode opNode = entry.getDescriptionProvider().getModelDescription(null);
    OpenMBeanParameterInfo[] params = getParameterInfos(opNode);
    if (addWildcardChildName != null) {
        OpenMBeanParameterInfo[] newParams = new OpenMBeanParameterInfo[params.length + 1];
        newParams[0] = addWildcardChildName;
        System.arraycopy(params, 0, newParams, 1, params.length);
        params = newParams;
    }
    return new OpenMBeanOperationInfoSupport(
            name,
            getDescription(opNode),
            params,
            getReturnType(opNode),
            entry.getFlags().contains(Flag.READ_ONLY) ? MBeanOperationInfo.INFO : MBeanOperationInfo.UNKNOWN,
            createOperationDescriptor());
}
 
开发者ID:wildfly,项目名称:wildfly-core,代码行数:18,代码来源:MBeanInfoFactory.java

示例2: customize

import javax.management.openmbean.OpenMBeanOperationInfo; //导入依赖的package包/类
private static MBeanOperationInfo
        customize(MBeanOperationInfo oi,
                  String description,
                  MBeanParameterInfo[] signature,
                  int impact) {
    if (equal(description, oi.getDescription()) &&
            identicalArrays(signature, oi.getSignature()) &&
            impact == oi.getImpact())
        return oi;
    if (oi instanceof OpenMBeanOperationInfo) {
        OpenMBeanOperationInfo ooi = (OpenMBeanOperationInfo) oi;
        OpenMBeanParameterInfo[] oparams =
            paramsToOpenParams(signature);
        return new OpenMBeanOperationInfoSupport(oi.getName(),
                                                 description,
                                                 oparams,
                                                 ooi.getReturnOpenType(),
                                                 impact,
                                                 oi.getDescriptor());
    } else {
        return new MBeanOperationInfo(oi.getName(),
                                      description,
                                      signature,
                                      oi.getReturnType(),
                                      impact,
                                      oi.getDescriptor());
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:29,代码来源:StandardMBean.java

示例3: getOperations

import javax.management.openmbean.OpenMBeanOperationInfo; //导入依赖的package包/类
private OpenMBeanOperationInfo[] getOperations() {
    final boolean root = pathAddress.size() == 0;

    //TODO include inherited/global operations?
    List<OpenMBeanOperationInfo> ops = new ArrayList<OpenMBeanOperationInfo>();
    for (Map.Entry<String, OperationEntry> entry : resourceRegistration.getOperationDescriptions(PathAddress.EMPTY_ADDRESS, false).entrySet()) {
        final String opName = entry.getKey();
        if (opName.equals(ADD) || opName.equals(DESCRIBE)) {
            continue;
        }
        if (root) {
            if (opName.equals(READ_RESOURCE_OPERATION) || opName.equals(READ_ATTRIBUTE_OPERATION) ||
                    opName.equals(READ_RESOURCE_DESCRIPTION_OPERATION) || opName.equals(READ_CHILDREN_NAMES_OPERATION) ||
                    opName.equals(READ_CHILDREN_TYPES_OPERATION) || opName.equals(READ_CHILDREN_RESOURCES_OPERATION) ||
                    opName.equals(READ_OPERATION_NAMES_OPERATION) || opName.equals(READ_OPERATION_DESCRIPTION_OPERATION) ||
                    opName.equals(READ_RESOURCE_OPERATION) || opName.equals(READ_RESOURCE_OPERATION) ||
                    opName.equals(WRITE_ATTRIBUTE_OPERATION) || opName.equals(ValidateAddressOperationHandler.OPERATION_NAME) ||
                    opName.equals(CompositeOperationHandler.NAME) || opName.equals(DeploymentUploadStreamAttachmentHandler.OPERATION_NAME)) {
                //Ignore some of the global operations which probably don't make much sense here
                continue;
            }
        }
        final OperationEntry opEntry = entry.getValue();
        if (mutabilityChecker.mutable(pathAddress) || opEntry.getFlags().contains(Flag.READ_ONLY) || opEntry.getFlags().contains(Flag.RUNTIME_ONLY)) {
            ops.add(getOperation(NameConverter.convertToCamelCase(entry.getKey()), null, opEntry));
        }
    }
    addChildAddOperations(ops, resourceRegistration);
    return ops.toArray(new OpenMBeanOperationInfo[ops.size()]);
}
 
开发者ID:wildfly,项目名称:wildfly-core,代码行数:31,代码来源:MBeanInfoFactory.java

示例4: findOperation

import javax.management.openmbean.OpenMBeanOperationInfo; //导入依赖的package包/类
private OpenMBeanOperationInfo findOperation(MBeanOperationInfo[] ops, String name) {
    for (MBeanOperationInfo op : ops) {
        Assert.assertNotNull(op.getName());
        if (op.getName().equals(name)) {
            return assertCast(OpenMBeanOperationInfo.class, op);
        }
    }
    Assert.fail("No op called " + name);
    return null;
}
 
开发者ID:wildfly,项目名称:wildfly-core,代码行数:11,代码来源:ModelControllerMBeanTestCase.java

示例5: getMBeanInfo

import javax.management.openmbean.OpenMBeanOperationInfo; //导入依赖的package包/类
public MBeanInfo getMBeanInfo() {
    OpenMBeanParameterInfoSupport parameterInfoSupport = new OpenMBeanParameterInfoSupport(
        "par name", "descripttiosdf", SimpleType.STRING);
    OpenMBeanOperationInfo infoSupport = new OpenMBeanOperationInfoSupport(
        operationName, "desciption",
        new OpenMBeanParameterInfo[] { parameterInfoSupport },
        SimpleType.STRING, MBeanOperationInfo.ACTION);
    OpenMBeanAttributeInfoSupport attributeInfo = new OpenMBeanAttributeInfoSupport(
        attrName, "description", SimpleType.STRING, true, true, false);
    OpenMBeanInfoSupport beanInfoSupport = new OpenMBeanInfoSupport(this
        .getClass().getName(), "descriptor",
        new OpenMBeanAttributeInfo[] { attributeInfo }, null,
        new OpenMBeanOperationInfo[] { infoSupport }, null);
    return beanInfoSupport;
}
 
开发者ID:freeVM,项目名称:freeVM,代码行数:16,代码来源:RegistringOpenMBeanTest.java

示例6: getMBeanInfo

import javax.management.openmbean.OpenMBeanOperationInfo; //导入依赖的package包/类
public MBeanInfo getMBeanInfo() {
    try {
        OpenMBeanOperationInfo infoSupport = new OpenMBeanOperationInfoSupport(
            operationName, "desciption", null, getCompositeType(),
            MBeanOperationInfo.ACTION);
        OpenMBeanInfoSupport beanInfoSupport = new OpenMBeanInfoSupport(
            this.getClass().getName(), "descriptor", null, null,
            new OpenMBeanOperationInfo[] { infoSupport }, null);
        return beanInfoSupport;
    } catch (OpenDataException e) {
        e.printStackTrace();
        assertTrue(false);
    }
    return null;
}
 
开发者ID:freeVM,项目名称:freeVM,代码行数:16,代码来源:CompositeDataSupportTest.java

示例7: getMBeanInfo

import javax.management.openmbean.OpenMBeanOperationInfo; //导入依赖的package包/类
public MBeanInfo getMBeanInfo() {
    try {
        OpenMBeanOperationInfo infoSupport = new OpenMBeanOperationInfoSupport(
            operationName, "desciption", null, getTabularType(),
            MBeanOperationInfo.ACTION);
        OpenMBeanInfoSupport beanInfoSupport = new OpenMBeanInfoSupport(
            this.getClass().getName(), "descriptor", null, null,
            new OpenMBeanOperationInfo[] { infoSupport }, null);
        return beanInfoSupport;
    } catch (Exception e) {
        e.printStackTrace();
        assertTrue(false);
    }
    return null;
}
 
开发者ID:freeVM,项目名称:freeVM,代码行数:16,代码来源:TabularDataSupportTest.java

示例8: test

import javax.management.openmbean.OpenMBeanOperationInfo; //导入依赖的package包/类
private static void test(Object child, String name, boolean mxbean)
    throws Exception {
    final ObjectName childName =
            new ObjectName("test:type=Child,name="+name);
    final MBeanServer server =
            ManagementFactory.getPlatformMBeanServer();
    server.registerMBean(child,childName);
    try {
        final MBeanInfo info = server.getMBeanInfo(childName);
        System.out.println(name+": " + info.getDescriptor());
        final int len = info.getOperations().length;
        if (len == OPCOUNT) {
            System.out.println(name+": OK, only "+OPCOUNT+
                    " operations here...");
        } else {
            final String qual = (len>OPCOUNT)?"many":"few";
            System.err.println(name+": Too "+qual+" foos! Found "+
                    len+", expected "+OPCOUNT);
            for (MBeanOperationInfo op : info.getOperations()) {
                System.err.println("public "+op.getReturnType()+" "+
                        op.getName()+"();");
            }
            throw new RuntimeException("Too " + qual +
                    " foos for "+name);
        }

        final Descriptor d = info.getDescriptor();
        final String mxstr = String.valueOf(d.getFieldValue("mxbean"));
        final boolean mxb =
                (mxstr==null)?false:Boolean.valueOf(mxstr).booleanValue();
        System.out.println(name+": mxbean="+mxb);
        if (mxbean && !mxb)
            throw new AssertionError("MXBean is not OpenMBean?");

        for (MBeanOperationInfo mboi : info.getOperations()) {

            // Sanity check
            if (mxbean && !mboi.getName().equals("foo")) {
                // The spec doesn't guarantee that the MBeanOperationInfo
                // of an MXBean will be an OpenMBeanOperationInfo, and in
                // some circumstances in our implementation it will not.
                // However, in thsi tests, for all methods but foo(),
                // it should.
                //
                if (!(mboi instanceof OpenMBeanOperationInfo))
                    throw new AssertionError("Operation "+mboi.getName()+
                            "() is not Open?");
            }

            final String exp = EXPECTED_TYPES.get(mboi.getName());

            // For MXBeans, we need to compare 'exp' with the original
            // type - because mboi.getReturnType() returns the OpenType
            //
            String type = (String)mboi.getDescriptor().
                        getFieldValue("originalType");
            if (type == null) type = mboi.getReturnType();
            if (type.equals(exp)) continue;
            System.err.println("Bad return type for "+
                    mboi.getName()+"! Found "+type+
                    ", expected "+exp);
            throw new RuntimeException("Bad return type for "+
                    mboi.getName());
        }
    } finally {
        server.unregisterMBean(childName);
    }
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:69,代码来源:TooManyFooTest.java

示例9: cacheMBeanInfo

import javax.management.openmbean.OpenMBeanOperationInfo; //导入依赖的package包/类
protected void cacheMBeanInfo(MBeanInfo info)
{
  if (info == null)
    return;
  try
    {
      MBeanAttributeInfo[] oldA = info.getAttributes();
      OpenMBeanAttributeInfo[] attribs =
        new OpenMBeanAttributeInfoSupport[oldA.length];
      for (int a = 0; a < oldA.length; ++a)
        {
          OpenMBeanParameterInfo param = Translator.translate(oldA[a].getType());
          if (param.getMinValue() == null)
            {
              Object[] lv;
              if (param.getLegalValues() == null)
                lv = null;
              else
                lv = param.getLegalValues().toArray();
              attribs[a] = new OpenMBeanAttributeInfoSupport(oldA[a].getName(),
                                                             oldA[a].getDescription(),
                                                             ((OpenType<Object>)
                                                              param.getOpenType()),
                                                             oldA[a].isReadable(),
                                                             oldA[a].isWritable(),
                                                             oldA[a].isIs(),
                                                             param.getDefaultValue(),
                                                             lv);
            }
          else
            attribs[a] = new OpenMBeanAttributeInfoSupport(oldA[a].getName(),
                                                           oldA[a].getDescription(),
                                                           ((OpenType<Object>)
                                                            param.getOpenType()),
                                                           oldA[a].isReadable(),
                                                           oldA[a].isWritable(),
                                                           oldA[a].isIs(),
                                                           param.getDefaultValue(),
                                                           ((Comparable<Object>)
                                                             param.getMinValue()),
                                                           ((Comparable<Object>)
                                                             param.getMaxValue()));
        }
      MBeanConstructorInfo[] oldC = info.getConstructors();
      OpenMBeanConstructorInfo[] cons = new OpenMBeanConstructorInfoSupport[oldC.length];
      for (int a = 0; a < oldC.length; ++a)
        cons[a] =
          new OpenMBeanConstructorInfoSupport(oldC[a].getName(),
                                              oldC[a].getDescription(),
                                              translateSignature(oldC[a].getSignature()));
      MBeanOperationInfo[] oldO = info.getOperations();
      OpenMBeanOperationInfo[] ops = new OpenMBeanOperationInfoSupport[oldO.length];
      for (int a = 0; a < oldO.length; ++a)
        ops[a] =
      new OpenMBeanOperationInfoSupport(oldO[a].getName(),
                                        oldO[a].getDescription(),
                                        translateSignature(oldO[a].getSignature()),
                                        Translator.translate(oldO[a].getReturnType()).getOpenType(),
                                        oldO[a].getImpact());
      openInfo = new OpenMBeanInfoSupport(info.getClassName(), info.getDescription(),
                                          attribs, cons, ops, info.getNotifications());
    }
  catch (OpenDataException e)
    {
      throw (InternalError) (new InternalError("A problem occurred creating the open type " +
                                               "descriptors.").initCause(e));
    }
}
 
开发者ID:vilie,项目名称:javify,代码行数:69,代码来源:BeanImpl.java

示例10: cacheMBeanInfo

import javax.management.openmbean.OpenMBeanOperationInfo; //导入依赖的package包/类
protected void cacheMBeanInfo(MBeanInfo info)
 {
   if (info == null)
     return;
   try
     {
MBeanAttributeInfo[] oldA = info.getAttributes();
OpenMBeanAttributeInfo[] attribs =
  new OpenMBeanAttributeInfoSupport[oldA.length];
for (int a = 0; a < oldA.length; ++a)
  {
    OpenMBeanParameterInfo param = Translator.translate(oldA[a].getType());
    if (param.getMinValue() == null)
      {
	Object[] lv;
	if (param.getLegalValues() == null)
	  lv = null;
	else
	  lv = param.getLegalValues().toArray();
	attribs[a] = new OpenMBeanAttributeInfoSupport(oldA[a].getName(),
						       oldA[a].getDescription(),
						       ((OpenType<Object>)
							param.getOpenType()),
						       oldA[a].isReadable(),
						       oldA[a].isWritable(),
						       oldA[a].isIs(),
						       param.getDefaultValue(),
						       lv);
      }
    else
      attribs[a] = new OpenMBeanAttributeInfoSupport(oldA[a].getName(),
						     oldA[a].getDescription(),
						     ((OpenType<Object>)
						      param.getOpenType()),
						     oldA[a].isReadable(),
						     oldA[a].isWritable(),
						     oldA[a].isIs(),
						     param.getDefaultValue(),
						     ((Comparable<Object>)
						       param.getMinValue()),
						     ((Comparable<Object>)
						       param.getMaxValue()));
  }
MBeanConstructorInfo[] oldC = info.getConstructors();
OpenMBeanConstructorInfo[] cons = new OpenMBeanConstructorInfoSupport[oldC.length];
for (int a = 0; a < oldC.length; ++a)
  cons[a] =
    new OpenMBeanConstructorInfoSupport(oldC[a].getName(),
					oldC[a].getDescription(),
					translateSignature(oldC[a].getSignature()));
MBeanOperationInfo[] oldO = info.getOperations();
OpenMBeanOperationInfo[] ops = new OpenMBeanOperationInfoSupport[oldO.length];
for (int a = 0; a < oldO.length; ++a)
  ops[a] =
new OpenMBeanOperationInfoSupport(oldO[a].getName(),
				  oldO[a].getDescription(),
				  translateSignature(oldO[a].getSignature()),
				  Translator.translate(oldO[a].getReturnType()).getOpenType(),
				  oldO[a].getImpact());
openInfo = new OpenMBeanInfoSupport(info.getClassName(), info.getDescription(),
				    attribs, cons, ops, info.getNotifications());
     }
   catch (OpenDataException e)
     {
throw (InternalError) (new InternalError("A problem occurred creating the open type " +
					 "descriptors.").initCause(e));
     }
 }
 
开发者ID:nmldiegues,项目名称:jvm-stm,代码行数:69,代码来源:BeanImpl.java

示例11: createMBeanOperationInfo

import javax.management.openmbean.OpenMBeanOperationInfo; //导入依赖的package包/类
/**
 * The operations are pulled from the core cache and the member regions.
 * @param cache 
 *
 */
private OpenMBeanOperationInfo[] createMBeanOperationInfo()
{
	List<OpenMBeanOperationInfo> operations = new ArrayList<OpenMBeanOperationInfo>();
	
	for(Cache cache : getKnownCaches())
	{
		if(cache != null && !cache.isInitialized())
			operations.add(
	     		new OpenMBeanOperationInfoSupport(initializePrefix + cache.getName(), 
	     				"Initialize the cache (root directory must be set first) \n" +
	     				"This action is ignored if the cache is initialized.\n" + 
	     				"If the cache has been started with a valid configuration state available \n" +
	     				"it will start in an initialized state.  Changes to configuration will then require a restart of the server.", 
	     				new OpenMBeanParameterInfo[]{}, 
	     				SimpleType.VOID, MBeanOperationInfo.ACTION)
	     	);

		if(cache != null && cache.isInitialized() && !cache.isEnabled() )
			operations.add(
	     		new OpenMBeanOperationInfoSupport(enablePrefix + cache.getName(), 
	     				"Enable the cache (cache must be initialized)", 
	     				new OpenMBeanParameterInfo[]{}, 
	     				SimpleType.VOID, MBeanOperationInfo.ACTION)
	     	);
		
		else if(cache != null && cache.isEnabled())
			operations.add(
	     		new OpenMBeanOperationInfoSupport(disablePrefix + cache.getName(), 
	     				"Disable the cache (cache must be initialized and enabled)", 
	     				new OpenMBeanParameterInfo[]{}, 
	     				SimpleType.VOID, MBeanOperationInfo.ACTION)
	     	);
	}
	
	operations.add(
     		new OpenMBeanOperationInfoSupport(storeOperation, 
     				"Store the named cache configuration to persistent storage", 
     				new OpenMBeanParameterInfo[]{new OpenMBeanParameterInfoSupport("name", "the bname of the cache to save configuration of", SimpleType.STRING)}, 
     				SimpleType.VOID, MBeanOperationInfo.ACTION)
     	);
	
	operations.add(
     		new OpenMBeanOperationInfoSupport(storeAllOperation, 
     				"Store all current cache configuration to persistent storage", 
     				new OpenMBeanParameterInfo[]{}, 
     				SimpleType.VOID, MBeanOperationInfo.ACTION)
     	);
	
	operations.add(
    		new OpenMBeanOperationInfoSupport(createOperation, 
    				"Create a new cache at the specified location.", 
				new OpenMBeanParameterInfo[]
				{
					new OpenMBeanParameterInfoSupport("cacheName", "The name of the cache (and the root of the configuration file name)", SimpleType.STRING),
					new OpenMBeanParameterInfoSupport("cacheLocation", "The URI of the cache location (e.g. 'file:///vix/cache' or 'smb://server/cacheroot')", SimpleType.STRING),
					new OpenMBeanParameterInfoSupport("prototypeName", "The name of the prototype or blank(e.g. 'VixPrototype', 'TestWithEvictionPrototype')", SimpleType.STRING)
				}, 
				SimpleType.STRING, 
				MBeanOperationInfo.ACTION)
    	);
	
	return operations.toArray(new OpenMBeanOperationInfoSupport[operations.size()]);
}
 
开发者ID:VHAINNOVATIONS,项目名称:Telepathology,代码行数:69,代码来源:CacheManagerImpl.java

示例12: testAddMethodSingleFixedChild

import javax.management.openmbean.OpenMBeanOperationInfo; //导入依赖的package包/类
@Test
public void testAddMethodSingleFixedChild() throws Exception {
    final ObjectName testObjectName = createObjectName(LEGACY_DOMAIN + ":subsystem=test");
    final ObjectName childObjectName = createObjectName(LEGACY_DOMAIN + ":subsystem=test,single=only");
    MBeanServerConnection connection = setupAndGetConnection(new MBeanInfoAdditionalInitialization(ProcessType.STANDALONE_SERVER, new SubystemWithSingleFixedChildExtension()));

    Set<ObjectName> names = connection.queryNames(createObjectName(LEGACY_DOMAIN + ":subsystem=test,*"), null);
    Assert.assertEquals(1, names.size());
    Assert.assertTrue(names.contains(testObjectName));

    MBeanInfo subsystemInfo = connection.getMBeanInfo(testObjectName);
    Assert.assertEquals(0, subsystemInfo.getAttributes().length);
    Assert.assertEquals(1, subsystemInfo.getOperations().length);
    OpenMBeanOperationInfo op = findOperation(subsystemInfo.getOperations(), "addSingleOnly");
    Assert.assertEquals("add", op.getDescription());
    Assert.assertEquals(1, op.getSignature().length);
    Assert.assertEquals(Integer.class.getName(), op.getSignature()[0].getType());

    connection.invoke(testObjectName, "addSingleOnly", new Object[]{123}, new String[]{String.class.getName()});

    names = connection.queryNames(createObjectName(LEGACY_DOMAIN + ":subsystem=test,*"), null);
    Assert.assertEquals(2, names.size());
    Assert.assertTrue(names.contains(testObjectName));
    Assert.assertTrue(names.contains(childObjectName));

    subsystemInfo = connection.getMBeanInfo(testObjectName);
    Assert.assertEquals(0, subsystemInfo.getAttributes().length);
    Assert.assertEquals(1, subsystemInfo.getOperations().length);
    op = findOperation(subsystemInfo.getOperations(), "addSingleOnly");
    Assert.assertEquals("add", op.getDescription());
    Assert.assertEquals(1, op.getSignature().length);
    Assert.assertEquals(Integer.class.getName(), op.getSignature()[0].getType());

    MBeanInfo childInfo = connection.getMBeanInfo(childObjectName);
    Assert.assertEquals(1, childInfo.getAttributes().length);
    Assert.assertEquals(Integer.class.getName(), childInfo.getAttributes()[0].getType());
    Assert.assertEquals(1, childInfo.getOperations().length);
    op = findOperation(childInfo.getOperations(), REMOVE);
    Assert.assertEquals("remove", op.getDescription());
    Assert.assertEquals(0, op.getSignature().length);

    Assert.assertEquals(123, connection.getAttribute(childObjectName, "attr"));

    try {
        connection.invoke(testObjectName, "addSingleOnly", new Object[]{123}, new String[]{String.class.getName()});
        Assert.fail("Should not have been able to register a duplicate resource");
    } catch (Exception expected) {
        //expected
    }

    connection.invoke(childObjectName, REMOVE, new Object[]{}, new String[]{});

    names = connection.queryNames(createObjectName(LEGACY_DOMAIN + ":subsystem=test,*"), null);
    Assert.assertEquals(1, names.size());
    Assert.assertTrue(names.contains(testObjectName));
}
 
开发者ID:wildfly,项目名称:wildfly-core,代码行数:57,代码来源:ModelControllerMBeanTestCase.java


注:本文中的javax.management.openmbean.OpenMBeanOperationInfo类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。