问题标签 [method-invocation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
284 浏览

jsf-2 - 调用托管 bean 方法返回 NPE

我有一个简单的问题,为什么当我调用一个返回列表的托管 bean 方法时总是得到一个 NPE。在我看来,我正在使用 primefaces 向导组件。例如,有人可以告诉我这两者之间的区别:

不工作:

然而这有效:

风景:

错误信息:

我的观点:

0 投票
1 回答
1287 浏览

jsf-2 - Bean 属性未更新

我的 bean 是 viewscoped。我有一个带有 getter 和 setter 的简单字符串属性。getter 工作正常(通过初始化属性检查),但不是 setter。在 setter 方法中,我正在使用每个传入参数构建一个 Stringbuffer。

代码:

那是错的吗?我已经在 setter 中测试了是否正在传递输入字符串,但显然该方法根本没有被调用/调用。在视图中使用 #{} 表示法。

看法:

为什么我要在 setter 方法中构建一个字符串缓冲区?因为,输入文本是基于动态列表动态创建的。我只有一个 bean 属性可以绑定。

我知道我可以使用地图,但出于与上述相同的原因,我似乎无法在 setter 方法中更新地图值。这与我在此处提出的问题Updating a map value in a managed bean

0 投票
3 回答
2088 浏览

iphone - 无法识别的选择器发送到实例,iPhone 错误

我得到错误

“012-02-10 13:54:52.570 HelloWorld[14275:10103] -[HelloWorldViewController buttonPressed]:无法识别的选择器发送到实例 0x6cc0c50 2012-02-10 13:54:52.572 HelloWorld[14275:10103] *终止应用程序,原因是未捕获的异常“NSInvalidArgumentException”,原因:“-[HelloWorldViewController buttonPressed]:无法识别的选择器发送到实例 0x6cc0c50”。

这是冒犯的文字:

我知道这一点,因为如果我将代码更改为:

然后它可以正常工作。

但是我需要发送消息的组件中的文本。组件不使用 IB 拖放。它们被分配、初始化并放置在 loadView 方法中。我为每个按钮添加了 buttonPressed 作为动作监听器。

0 投票
1 回答
4062 浏览

java - 如何捕获调用目标异常?

我有以下代码:

我收到以下错误:

致命:AJPRequestHandler-ApplicationServerThread-25 com.tcs.sgv.common.util.GenericEJBObject - InvocationTargetException:java.lang.reflect.InvocationTargetException - 2012 年 2 月 14 日 12:36:00,155 - 5210474 毫秒

它没有打印堆栈跟踪。我怎么知道异常的原因?

我有未注释的代码并且仍然没有打印堆栈跟踪。

之间,我的 BudgetInBriefDAO 实现 (BudgetInBriefDAOImpl) 包含 4 个类。

BudgetInBriefDAOImpl & 3 个其他线程类

我已经成功地反编译了所有类文件而没有损坏。

请帮助找出异常的实际原因。

提前致谢。

0 投票
2 回答
7768 浏览

linq - 拾取两个版本的 System.Linq 导致的不明确调用

我有以下代码,它在 .Any( 之后的 lambda 表达式下显示一条波浪形的红线,因为 System.Linq 版本 3.5 和 4.0 之间存在“不明确的调用” - 我如何强制它使用特定版本?

它编译并运行良好。

更新

我现在检查了整个解决方案中的所有 (60) 个项目,并且对 System.dll 和 System.Core.dll 的所有引用都是 4.0 版 - 我真的不明白它从哪里获得对 3.5 的引用。

0 投票
2 回答
7461 浏览

java - Java:如何调用名称存储在字符串变量中的函数

我有一个存储在变量中的通用字符串String func = "validate";,我想调用该名称的函数,即我需要调用validate()函数。
我的意思是说我会将变量传递给某个函数
public void callFunc(String func){
....
}
,所以上面的函数应该调用适当的函数,并将函数名作为参数传递给callfunc().

0 投票
1 回答
840 浏览

java - 如何访问 VariableDeclarationStatement 中的 MethodInvocation

我正在检查使用 JDT 的方法的调用并对其参数执行检查。我正在使用访问 MethodInvocation 节点并执行此操作的 AST 访问者类。我在 Visitor 类中使用以下方法。

但是作为变量声明一部分的调用没有被访问。

例如:如果我正在寻找方法“createQuery”的调用,将访问以下调用。

但是这个没有被访问过。

我怎样才能访问这些陈述并以适当的方式获取论点?

请帮忙。

0 投票
2 回答
731 浏览

java - 从正在运行的 C++ 代码调用正在运行的 Java 代码,反之亦然

我的问题是如何从正在运行的 C++ 代码中调用正在运行的 Java 代码,反之亦然。有几篇关于从 C unsing Java Native Interface (JNI) 或 Java Native Access (JNA) 调用 Java 或 JVM 编译的 c++ 文件的文章。但是,对我来说,这似乎不是调用运行代码的适当方式,因为在示例中只调用了编译库。

我的情况如下。有两个应用程序在本地计算机上运行。一种应用程序是基于 Eclipse 和 Java 的。另一个应用程序是基于 C++ 的。我需要让他们双向交流。也许这是 RPC 的情况?但我不需要通过网络进行交流。

我认为 RCP 可能是一种方式,但它对我来说似乎太大了,因为我不想通过网络进行交流,而且我不知道如何在这种情况下使用 RCP。我正在寻找更智能的解决方案。

有什么经验可以帮助我吗?

谢谢并恭祝安康

0 投票
1 回答
743 浏览

c# - 协助 UI Dispatcher 处理大量的方法调用

下面的帖子比预期的要长一点*我为此道歉,但也许你会觉得它读起来很有趣,也许你有一个想法可以帮助我:)

我正在开发一个小型应用程序,它的 GUI 由许多列表控件组成。每个 List 控件都有一个与之关联的线程,该线程永久地生成要添加到列表中的字符串。

为了允许不同线程更新List 控件,我构建了一个扩展的 ObservableCollection,它异步调用UI 调度程序的所有操作,效果很好。这是该类的代码片段,用于示例插入操作:

为了以一种挂起的调用任务的形式对调用进行建模,我构建了以下内容:

我现在的问题是,由于我在 UI Dispatcher 上调用了大量的方法调用(我有大约 8 到 10 个线程,它们正在永久生成它们添加到列表中的字符串),我的UI 失去了响应用户的能力大约之后的I/O(例如使用鼠标)。大约一分钟后,它完全不接受任何用户交互 30 秒。

为了解决这个问题,我编写了某种缓冲调用程序,它负责缓冲我想要调用到 UI 调度程序上的所有方法调用,然后以受控方式调用它们,例如在调用之间有一些延迟以避免淹没UI 调度程序。

这是一些代码来说明我在做什么(请参阅代码段后的描述):

这个BufferedInvoker背后的想法是ObservableCollections不会自己调用操作,而是调用BufferedInvoker的AddInvocation方法,该方法将调用任务放入其_workload列表中。然后,BufferedInvoker维护两个在_queue上运行的“内部”线程——一个线程从_workload列表中获取调用并将它们放入_queue,另一个线程将调用从_queue中取出,最后一个接一个地调用它们。

所以这只不过是两个缓冲区来存储挂起的调用任务延迟它们的实际调用。我进一步计算了_dequeuing线程(即 long _invoked )实际调用的调用任务的数量以及从它们的执行中返回的方法的数量( ObservableCollection中的每个方法都调用了Returned()方法BufferedInvoker完成执行时 - 一个存储在_returned变量中的数字。

我的想法是使用 ( _invoked - _returned ) 获取挂起调用的数量,以了解 UI 调度程序的工作量- 但令人惊讶的是_pending总是低于 1 或 2。

所以我现在的问题是,虽然我延迟了对 UI 调度程序的方法调用(使用 Thread.Sleep(delay)),但应用程序在一段时间后开始滞后,这反映了 UI 有太多事情要做来处理用户 I/O。

但是 - 这就是我真正想知道的 - _pending计数器永远不会达到很高的值,即使 UI 已经被冻结,大多数时候它也是 0。

所以我现在必须找到

(1)一种衡量 UI 调度器工作量的方法,以确定 UI 调度器过度工作的点和

(2)做一些反对它的事情。

所以现在非常感谢您阅读到此为止,我希望您有任何想法如何在 UI 调度程序上调用任意数量的方法而不会压倒它..

提前谢谢...强调文字*强调文字*

0 投票
1 回答
238 浏览

c# - 同步异步调用的方法?

假设您在 UI 线程上异步调用方法。

你正在调用。从现在开始,运行时环境决定何时执行该方法,而程序继续其“正常”执行路径。

我现在想知道是否有任何机制可以在这些异步执行的方法返回时同步它们?似乎存在与使用多线程时几乎相同的问题。

但是在被认为是线程之前已经异步调用的返回方法吗?似乎并非如此,因为通常的同步工作像

或使用专用锁似乎不起作用。

附录:

我出现这个问题的实际情况如下:

异步调用的方法调用return静态类的方法作为其最后一条语句。在此return方法中,必须同步常用资源(列表)。考虑以下(类似概述的)代码片段来举例说明: