問題タブ [classloader]
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.
java - Glassfish に読み込まれたクラスの総数
EJB を使用したエンタープライズ アプリがあります。アプリの合計サイズは 34 メガです。アプリをデプロイするとすべて問題ありませんが、再デプロイすると、読み込まれたクラスの合計数が増加します。この情報を確認するために、visualVM を使用しています。それがどうあるべきか、それともメモリリークです。この問題を解決するには?ありがとう
java - Java クラスローダー
クラスローダーの背後にある概念について、誰かが私に良いリソースを指摘したり、説明したりできますか? クラスローダーhttp://www.onjava.com/lpt/a/5586で次のリソースを見つけましたが、それでも助けにはなりません。次の質問はばかげているように見えるかもしれませんが、答えようとするといつも混乱します。
開発者がカスタム クラス ローダーを作成するのはなぜですか? Bootstrap クラス ローダーを呼び出してカスタム クラスを呼び出さないのはなぜですか? カスタム クラス ローダーを定義する必要性は何ですか?
クラスローダの種類が多いのはなぜですか? 例: Bootsrap、Comman、Catalina クラスローダーなど、
前もって感謝します。
java - Java ロギング構成は部分的にのみ考慮されます
展開プロセスを簡素化するためにone-jarパッケージャーを使用して配信しようとしているプロジェクトに問題があります。
パッケージングがなければ、すべてが正常に機能し、ロギング構成が完全にロードされますが、パッケージ内では、構成の一部のみが適用されます。
だから、ここに私が使用するlogging.propertiesがあります:
そして、私のメインクラスでは、これをロードする方法は次のとおりです。
ログは正しいファイルに出力されるため、ログ レベルと FileHandler パターンはよく理解されていますが、行の XML 出力として、通常は CSV 形式を出力するため、フォーマッタが読み込まれていないと思われます。
クラスパスの問題に関連している可能性がありますか? 誰もこれを処理する方法を知っていますか?
java - Spring フレームワーク - クラスローダーの関係
おそらくSpring /クラスローダーの関係に関連する問題があります。
私は今、質問の冗長さをお詫びします。
専用の JVM 内で実行することを意図して作成されたレガシー Java アプリケーションが多数あります。リソースの使用状況を調べた結果、単一の JVM 内で複数のアプリケーションを実行することで効率が向上することがわかりました。そのコンテキスト内で、コンテナー (またはサンドボックス) 内で各アプリケーションを実行できる、環境用に特別に設計されたコンテナー マネージャーを作成しました。コンテナを分離するこの機能の基礎は、もちろんカスタム クラス ローダーです。
Spring フレームワークを使用するアプリケーションに遭遇するまで、すべてがうまく機能します。以下のようなフラグメントを含む Spring 構成ファイルがあります。
以下は、Spring が Bean をインスタンス化しているときのログ ファイルの一部です。
DEBUG [South Agent 1] (DefaultSingletonBeanRegistry.java:162) - シングルトン Bean 'MDDStructurPackager' の共有インスタンスを作成しています
DEBUG [South Agent 1] (AbstractAutowireCapableBeanFactory.java:378) - Bean 'MDDStructurPackager' のインスタンスを作成しています
DEBUG [South Agent 1] (AbstractAutowireCapableBeanFactory.java:453) - Bean 'MDDStructurPackager' を熱心にキャッシュして、潜在的な循環参照を解決できるようにする
DEBUG [South Agent 1] (AbstractBeanFactory.java:213) - シングルトン Bean 'Logger' のキャッシュされたインスタンスを返す
DEBUG [South Agent 1] (CachedIntrospectionResults.java:242) - クラス [abc.def.mdd.msg.alarm.huawei.MDDPackagerAlarmM2000] の BeanInfo の取得
DEBUG [South Agent 1] (CachedIntrospectionResults.java:258) - クラス [abc.def.mdd.msg.alarm.huawei.MDDPackagerAlarmM2000] の PropertyDescriptors のキャッシュ
DEBUG [South Agent 1] (CachedIntrospectionResults.java:267) - タイプ [java.lang.Class] の Bean プロパティ 'class' が見つかりました
DEBUG [South Agent 1] (CachedIntrospectionResults.java:267) - タイプ [java.lang.String] の Bean プロパティ 'colectionDate' が見つかりました
DEBUG [South Agent 1] (CachedIntrospectionResults.java:267) - タイプ [abc.def.mdd.msg.MDDComponent] の Bean プロパティ 'component' が見つかりました
DEBUG [South Agent 1] (CachedIntrospectionResults.java:267) - タイプ [java.lang.String] の Bean プロパティ 'fileType' が見つかりました
DEBUG [South Agent 1] (CachedIntrospectionResults.java:267) - タイプ [java.util.ArrayList] の Bean プロパティ 'listCommonWords' が見つかりました
DEBUG [South Agent 1] (CachedIntrospectionResults.java:267) - タイプ [java.util.ArrayList] の Bean プロパティ 'listHeader' が見つかりました
DEBUG [South Agent 1] (CachedIntrospectionResults.java:267) - タイプ [abc.def.mdd.logger.Logger] の Bean プロパティ 'logger' が見つかりました
DEBUG [South Agent 1] (CachedIntrospectionResults.java:267) - タイプ [java.util.Map] の Bean プロパティ 'mapDelimiter' が見つかりました
DEBUG [South Agent 1] (CachedIntrospectionResults.java:267) - タイプ [java.util.Map] の Bean プロパティ 'mapElement' が見つかりました
DEBUG [South Agent 1] (CachedIntrospectionResults.java:267) - タイプ [java.lang.String] の Bean プロパティ 'namePackager' が見つかりました
DEBUG [South Agent 1] (CachedIntrospectionResults.java:267) - タイプ [java.lang.String] の Bean プロパティ 'nameSpaceXMLSchema' が見つかりました
DEBUG [South Agent 1] (CachedIntrospectionResults.java:267) - タイプ [java.lang.String] の Bean プロパティ 'nodeName' が見つかりました
DEBUG [South Agent 1] (CachedIntrospectionResults.java:267) - タイプ [java.lang.String] の Bean プロパティ 'packageXMLSchema' が見つかりました
DEBUG [South Agent 1] (CachedIntrospectionResults.java:267) - タイプ [abc.def.mdd.channel.ProcessingLayerListener] の Bean プロパティ 'processingLayerListener' が見つかりました
DEBUG [South Agent 1] (CachedIntrospectionResults.java:267) - タイプ [java.lang.String] の Bean プロパティ 'realm' が見つかりました
DEBUG [South Agent 1] (CachedIntrospectionResults.java:267) - タイプ [java.lang.String] の Bean プロパティ 'statesObject' が見つかりました
DEBUG [South Agent 1] (AbstractAutowireCapableBeanFactory.java:406) - Bean 'MDDStructurPackager' のインスタンスの作成が完了しました
DEBUG [South Agent 1] (DefaultSingletonBeanRegistry.java:162) - シングルトン Bean 'ListAlarmChannel' の共有インスタンスの作成
DEBUG [South Agent 1] (AbstractAutowireCapableBeanFactory.java:378) - Bean 'ListAlarmChannel' のインスタンスを作成しています
DEBUG [South Agent 1] (AbstractAutowireCapableBeanFactory.java:453) - 潜在的な循環参照を解決できるように、Bean 'ListAlarmChannel' を熱心にキャッシュする
DEBUG [South Agent 1] (DefaultSingletonBeanRegistry.java:162) - シングルトン Bean 'Jakarta' の共有インスタンスの作成
DEBUG [South Agent 1] (AbstractAutowireCapableBeanFactory.java:378) - Bean 'Jakarta' のインスタンスを作成しています
DEBUG [South Agent 1] (AbstractBeanFactory.java:213) - シングルトン Bean 'MDDStructurPackager' のキャッシュされたインスタンスを返す
情報: CORBA_HUAWEI_M2KJKT_ALARM (23447542): クラスパスに「/opt/app/abcdef/rt_dev/lib/logkit-1.2.jar」を追加しました。
情報: CORBA_HUAWEI_M2KJKT_ALARM (23447542): クラスパスに「/opt/app/abcdef/rt_dev/lib/avalon-framework-4.1.5.jar」を追加しました。
情報: CORBA_HUAWEI_M2KJKT_ALARM (23447542): クラスパスに「/opt/app/abcdef/rt_dev/lib/concurrent-1.3.2.jar」を追加しました。
情報: CORBA_HUAWEI_M2KJKT_ALARM (23447542): クラスパスに「/opt/app/abcdef/rt_dev/lib/antlr-2.7.2.jar」を追加しました。
DEBUG [South Agent 1] (ConstructorResolver.java:195) -
コンストラクタ [public abc.def.mdd.channel.corba.M2000AlarmChannel(
java.lang.String, int, java.lang.String, java.lang.String, com.citycorp.mdd.msg.MDDComponent ) は
、Bean 'Jakarta' の java.lang.Exception ] をスローします: org.springframework.beans.factory.UnsatisfiedDependencyException:
ファイル [/opt/app/ abcdef/rt_dev/etc/HUAWEI_M2KJKT_ALARM.xml]:
タイプ [java.lang.String] のインデックス 0 を持つコンストラクター引数によって表現された満たされていない依存関係:
タイプ [abc.def.mdd.msg.alarm.huawei.MDDPackagerAlarmM2000] のコンストラクタ引数値を必要なタイプ [java.lang.String] に変換できませんでした: タイプ [abc.def.mdd.msg.alarm の値を変換できませんでし
た] .huawei.MDDPackagerAlarmM2000] を必要なタイプ [java.lang.String] に変更します。
ネストされた例外は java.lang.IllegalArgumentException: 型 [abc.def.mdd.msg.alarm.huawei.MDDPackagerAlarmM2000] の値を必要な型 [java.lang.String] に変換できません:
一致するエディターまたは変換戦略が見つかりません
以下は、abc.def.mdd.channel.corba.M2000AlarmChannel クラスのコンストラクターのシグネチャです。
public M2000AlarmChannel( MDDComponent コンポーネント )
public M2000AlarmChannel( String host, int port, String username, String password, MDDComponent componenet )
クラス abc.def.mdd.msg.alarm.huawei.MDDPackagerAlarmM2000 は、MDDComponent (bean MDDStructurPackager) を実装します。
ご覧のとおり、Spring はいくつかの Bean をインスタンス化しています。MDDStructurPackager は問題ありません。
問題は、'Jakarta' Bean のインスタンス化です。
行の意味:
ファイル [/opt/app/abcdef/rt_dev/etc/HUAWEI_M2KJKT_ALARM.xml] で定義された「Jakarta」という名前の Bean の作成中にエラーが発生しました:
タイプ [java.lang.String] のインデックス 0 を持つコンストラクター引数によって表現された満たされていない依存関係:
タイプ [abc.def.mdd.msg.alarm.huawei.MDDPackagerAlarmM2000] のコンストラクタ引数値を必要なタイプ [java.lang.String] に変換できませんでした:
明確ではありません。適切なコンストラクターを決定しようとするときの型の混乱の理由がわかりません。この問題は、インターフェース MDDComponent のロードに関連している可能性があります。クラスローダー階層で関連していない異なるクラスローダーによって2回ロードされた場合、正しいコンストラクターの決定に関連する問題が想像できます。
ありがたく受け取ったアイデアはすべて、私はストローをつかんでいます。
ありがとうブライアン
websphere - Websphere クラスローダー委任モード
デフォルトのクラスローダー委任モード、つまりPARENT-FIRSTで WebSphere 6.1 アプリケーション サーバーを使用しています。これをPARENT-LASTに変更して、jsf 実装または Web サービス スタックを選択できるようにすることを検討しています。
PARENT-FIRST がデフォルトであるため、何人の人が PARENT-LAST に切り替えたのか、切り替えた理由は何だったのか、切り替えてから生活が良くなったのだろうか :)
本番環境には多くのアプリケーションがあるため、切り替えて何が起こるかを確認することはできません。切り替えると、多くのテストが行われるため、PARENT-LAST に切り替えた場合はフィードバックをお願いします。
ありがとう
java - クラス java.security.SecureClassLoader を拡張するには?
独自の ClassLoader を作成したい。アプレットのデフォルトの ClassLoader として、より高速で動的になるはずです。
しかし、メソッドをどのように実装すればよいかわかりません:
CodeSource に有効な証明書がある場合も、上位実装は権限を付与しません。
証明書自体を検証する必要がありますか、それとも Java VM から既に検証され、ユーザーから受け入れられていますか?
java - Java Swing の問題
マッチを見つけなければならないカードのボードがあります。2 つの変数がbuttonA
ありbuttonB
、クリックされた四角形を追跡します。
それらが等しい場合、次のコードを追加するだけでそれらをボードから削除できます。
一致を見つけた後、すべてのボタンに同じ画像を配置するにはどうすればよいですか? 次のことを試しましたが、画像を変更する代わりに、ボタンに同じ画像をそのまま残します
jboss - 分離された .EAR ファイル内にデプロイされた場合の jboss 4.2.2 での Web モジュールの分離
分離された.EARファイル内にデプロイされた場合、jboss 4.2.2でWebモジュールの分離(つまり、含まれる各Webアプリが同じ.EAR内の他のアプリから分離される)に到達するにはどうすればよいですか?
Jboss 4.2.2 は、EAR ファイルのデプロイ時に Web モジュール (jboss-web) レベルのデプロイメント記述子クラスのロード設定が無視されるという警告を出し続けます。
java - 別のプラグインで DLL とネイティブ コールを分離する
関連するネイティブ JNI クラスからいくつかの DLL を分離したいと考えています。
プラグイン:
- プラグイン A では、プラグインのロード時に dll が配置およびロードされます。
- プラグイン B (A に依存) には、A の DLL のネイティブ メソッド呼び出しを含む JNI クラスが配置されます。
JNI クラスが見つからないため、実行時に UnsatisfiedLinkError が発生します。MANIFEST ファイルを更新して、クラスローダー ロジックを更新しようとしています。
プラグイン A:
プラグイン B:
しかし、これも機能していません。解決策を知っていますか?
編集:
マニフェスト A:
マニフェスト B: