Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Java反射设置接口字段_Java_Reflection_Jboss_Jboss7.x - Fatal编程技术网

如何使用Java反射设置接口字段

如何使用Java反射设置接口字段,java,reflection,jboss,jboss7.x,Java,Reflection,Jboss,Jboss7.x,我正在使用Jboss 7.1.1.final,我有一个大量使用JMS的应用程序。在做了一些性能测试之后,我发现每当我收到一定数量的消息时,应用程序就会开始失败,因为没有足够的队列会话 经过一些研究,我发现这个JMS属性只在jboss版本7.1.2中公开(请参阅) 因为,出于法律原因,我目前不能使用这个版本(或它被修复的特定构建),所以唯一的改变它的方法是使用反射。所以我下载了Jboss源代码并开始使用它,现在我有几个问题: 首先,我发现我需要的类是org.jboss.as.messaging.C

我正在使用Jboss 7.1.1.final,我有一个大量使用JMS的应用程序。在做了一些性能测试之后,我发现每当我收到一定数量的消息时,应用程序就会开始失败,因为没有足够的队列会话

经过一些研究,我发现这个JMS属性只在jboss版本7.1.2中公开(请参阅)

因为,出于法律原因,我目前不能使用这个版本(或它被修复的特定构建),所以唯一的改变它的方法是使用反射。所以我下载了Jboss源代码并开始使用它,现在我有几个问题:

首先,我发现我需要的类是
org.jboss.as.messaging.CommonAttributes
,它实际上是一个接口,它有以下行:

 SimpleAttributeDefinition CONNECTION_THREAD_POOL_MAX_SIZE = new SimpleAttributeDefinition("thread-pool-max-size",
        new ModelNode().set(HornetQClient.DEFAULT_THREAD_POOL_MAX_SIZE), ModelType.INT,  true, MeasurementUnit.NONE);
  • ClassLoader.getSystemClassLoader()
    会给我加载类所需的类加载器吗
  • 如何使用反射设置接口字段值?(Field.set()方法需要一个对象实例,因为它是一个接口,所以我无法实例化它)
  • 你说的是一段代码。我必须让你们失望:接口根本没有字段。它们只有方法声明,没有实现

    您看到的实际上是接口体中定义的
    公共静态final
    (所有这些关键字对于接口内的“字段”都是隐式的)常量。但接口仅用作它们的名称空间,它们不是真正的字段。实现此类接口的类不会继承这些字段并拥有自己的变量副本。它们只是常数

    也就是说,您不能做任何事情,至少在这个接口上是这样