問題タブ [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.
jsf-2 - マネージドBeanメソッドを呼び出すと、NPEが返されます
簡単な質問があります。リストを返すマネージドBeanメソッドを呼び出すと、なぜ常にNPEを取得するのですか。ビューでprimefacesウィザードコンポーネントを使用しています。たとえば、sometoneは、これら2つの違いを教えてくれます。
動作しません:
ただし、これは機能します。
景色:
エラーメッセージ:
私の見解:
jsf-2 - Bean プロパティが更新されていない
私のBeanはビュースコープです。ゲッターとセッターを持つ単純な文字列プロパティがあります。ゲッターは正常に動作しますが (プロパティの初期化によってチェックされます)、セッターは動作しません。セッター メソッドでは、各受信パラメーターを使用して Stringbuffer を構築しています。
コード:
それは間違っていますか?入力文字列が渡されているかどうかを確認するためにセッター内でテストしましたが、明らかにメソッドが呼び出されていないか、まったく呼び出されていません。ビューでは #{} 表記を使用しています。
意見:
そして、なぜセッターメソッドで文字列バッファーを構築したいのでしょうか? なぜなら、入力テキストは動的リストに基づいて動的に作成されるからです。バインドする Bean プロパティは 1 つだけです。
マップを使用できることはわかっていますが、上記と同じ理由で、setter メソッドでマップ値を更新できないようです。これは、私がここで尋ねた質問に関連していますマネージド Bean のマップ値の更新
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を追加しました。
java - 呼び出しターゲット例外をキャッチする方法は?
次のコードがあります。
次のエラーが表示されます:
FATAL: 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 つの Thread クラス
破損することなく、すべてのクラス ファイルを正常に逆コンパイルしました。
例外の実際の原因を見つけるのを手伝ってください。
前もって感謝します。
linq - System.Linqの2つのバージョンを取得することによって引き起こされるあいまいな呼び出し
次のコードがあります。これは、.Any(System.Linqバージョン3.5と4.0の間の「あいまいな呼び出し」のために、ラムダ式の下に波状の赤い線を示しています。特定のバージョンを使用するように強制するにはどうすればよいですか?
コンパイルして正常に実行されます。
更新:
ソリューション全体ですべて(60)のプロジェクトをチェックしましたが、System.dllとSystem.Core.dllへのすべての参照はバージョン4.0です-3.5への参照がどこから取得されているのか本当にわかりません。
java - Java: 文字列変数に名前が格納されている関数を呼び出す方法
変数に一般的な文字列が格納されていてString func = "validate";
、その名前の関数を呼び出したい、つまり、validate()
関数を呼び出す必要があります。
私は、変数を何らかの関数に渡すと言うつもりな
public void callFunc(String func){
....
}
ので、上記の関数は、関数名がcallfunc()
.
java - VariableDeclarationStatement 内にある MethodInvocation にアクセスする方法
JDT を使用してメソッドの呼び出しをチェックし、その引数をチェックしています。MethodInvocation ノードにアクセスしてこの操作を実行する AST Visitor クラスを使用しています。Visitor クラスで以下のメソッドを使用します。
しかし、変数宣言の一部である呼び出しは参照されていません。
例: メソッド 'createQuery' の呼び出しを探している場合、以下の呼び出しが表示されます。
しかし、これは訪問されていません。
そのようなステートメントにアクセスして、適切な方法で引数を取得するにはどうすればよいですか?
助けてください。
java - 実行中の C++ コードから実行中の Java コードを呼び出す、またはその逆
私の質問は、実行中の C++ コードから実行中の Java コードを呼び出す方法と、その逆の方法です。Java Native Interface (JNI) または Java Native Access (JNA) を使用しない C から Java または JVM からコンパイル済みの C++ ファイルを呼び出すことに関する投稿がいくつかあります。ただし、例ではコンパイルされたライブラリのみが呼び出されるため、これは実行中のコードを呼び出す適切な方法ではないようです。
私の場合は次のようになります。ローカル コンピューターで実行されている 2 つのアプリケーションがあります。1 つのアプリケーションは、Eclipse および Java ベースです。もう 1 つのアプリケーションは C++ ベースです。双方向で通信できるようにする必要があります。多分これはRPCの場合ですか?しかし、私はウェブ経由で通信する必要はありません。
RCP は一つの方法かもしれないと思いますが、Web 経由で通信したくなく、このコンテキストで RCP を使用する方法がわからないため、大きすぎるように思えます。よりスマートなソリューションを探しています。
私を助けることができる経験はありますか?
感謝と敬意
ロブ
c# - メソッド呼び出しのフラッドを処理するために UI Dispatcher を支援する
次の投稿は予想よりも少し*長く*なってしまいました。
GUI が多数のリスト コントロールで構成される小さなアプリケーションを開発しています。各 List コントロールには、リストに追加される文字列を永続的に生成するスレッドが関連付けられています。
List コントロールをさまざまなスレッドで更新できるようにするために、拡張された ObservableCollectionを構築しました。この拡張 ObservableCollectionは、すべての操作を非同期にUIディスパッチャに呼び出します。これは非常にうまく機能します。以下は、挿入操作を例示するためのそのクラスのコード スニペットです。
ある種の保留中の呼び出しタスクの形式で呼び出しをモデル化するために、次のように作成しました。
私の問題は、UI Dispatcher に対して呼び出している膨大な量のメソッド呼び出しのために (リストに追加する文字列を永続的に生成しているスレッドが約 8 から 10 あります)、UI がユーザーに応答する機能を失っていることです。 I/O (例: マウスを使用) 約 1 分後にユーザーの操作をまったく受け付けなくなるまで 30 秒。
この問題に直面するために、UIディスパッチャで呼び出したいすべてのメソッド呼び出しをバッファリングする役割を担うある種のバッファリングされた呼び出し元を作成し、制御された方法で呼び出します。
私が何をしているかを説明するためのコードを次に示します (コード セグメントの後の説明を参照してください)。
このBufferedInvokerの背後にある考え方は、ObservableCollectionが独自に操作を呼び出すのではなく、呼び出しタスクをその_workloadリストに入れるBufferedInvokerのAddInvocationメソッドを呼び出すというものです。次に、BufferedInvokerは、 _queueで動作する 2 つの「内部」スレッドを維持します。1つのスレッドは、_workloadリストから呼び出しを取得して_queueに入れ、もう 1 つのスレッドは、呼び出しを_queueから出して、最後に順番に呼び出します。
したがって、実際の呼び出しを遅らせるために、保留中の呼び出しタスクを格納するための 2 つのバッファーに他なりません。さらに、 _dequeuingスレッド (つまり long _invoked )によって実際に呼び出された呼び出しタスクの数と、それらの実行から返されたメソッドの数 ( ObservableCollection内のすべてのメソッドが、オブジェクトのReturned()メソッドを呼び出す) を数えています。実行が完了したときのBufferedInvoker - _returned変数内に格納されている数値。
UI ディスパッチャーの作業負荷を把握するために ( _invoked - _returned )で保留中の呼び出しの数を取得するというのが私の考えでしたが、驚くべきことに _pendingは常に 1 または 2 未満です。
したがって、私の問題は、UIディスパッチャーへのメソッドの呼び出しを遅らせているにもかかわらず(Thread.Sleep(delay)を使用)、しばらくするとアプリケーションが遅れ始め、UIが処理するためにやるべきことが多すぎるという事実を反映していることです。ユーザー I/O。
しかし、私が本当に疑問に思っているのは、_pendingカウンターが高い値に達することはなく、ほとんどの場合、UI が既にフリーズされていても 0 です。
だから私は今見つけなければならない
(1) UI ディスパッチャのワークロードを測定して、UI ディスパッチャが過負荷になっているポイントを特定する方法。
(2)それに対して何かをする。
ここまで読んでいただき、ありがとうございました。UI ディスパッチャを圧倒することなく、任意の多数のメソッドを呼び出す方法について何かアイデアがあれば幸いです。
よろしくお願いします ...強調テキスト*強調テキスト*
c# - 非同期的に呼び出されたメソッドを同期しますか?
UI スレッドに対してメソッドを非同期的に呼び出すとします。
と
あなたは呼び出しを行っています。これからは、ランタイム環境がメソッドをいつ実行するかを決定しますが、プログラムは「通常の」実行パスを続行します。
これらの非同期的に実行されるメソッドが返されるときに同期するメカニズムがあるかどうか疑問に思っていますか? 複数のスレッドを使用する場合とほとんど同じ問題があるようです。
しかし、スレッドと見なされる前に非同期的に呼び出された戻りメソッドですか? のような通常の同期の取り組みのため、そうではないようです
または専用ロックの使用が機能していないようです。
付録:
この問題が発生する実際の状況は次のとおりです。
非同期的に呼び出されたメソッドは、最後のステートメントとしてreturn
静的クラスのメソッドを呼び出します。このreturn
メソッド内で、よく使用されるリソース (リスト) を同期する必要があります。例として抜粋した次の (概要のような) コードを検討してください。