問題タブ [jsr]

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 に答える
10653 参照

java - OR条件で2つのフィールドを検証するには?

いずれかのフィールドが有効であるか、別のフィールドが有効であるという方法で、要求クラスの 2 つのフィールドを検証したいと考えています。

例: リクエスト Bean


コントローラーの方法

ここで、customerName が NotEmpty であるか、customerId が NotEmpty であるかを確認します。その後、私の検証に合格する必要があります。どうすれば実装できますか。提案してください!!

0 投票する
0 に答える
879 参照

spring - Spring バッチ - ライターでスローされた例外をスキップすると、JSR 352 の再試行が失敗する

ライターで例外がスローされたときに何が起こるかを調査しようとしています。理論上、ロールバックが発生することを期待していたので、コミット サイズを 1 に設定してチャンクを再試行しますが、これは発生せず、次のエラーが表示されます。

Spring Batch -JSR 352 ジョブ デザインを使用しています。ライターでは、3 つの JDBC 呼び出しがあります。2 つの JDBC 呼び出しが正常に実行された後にスキップ可能な例外をスローすると、Spring バッチがチャンクのトランザクションをロールバックできず、コミット サイズを 1 に設定してチャンクを再試行できないことがわかります。次の execption を受け取った後、チャンク全体がスキップされ、チャンク コミットが行われています。その結果、2 つの JDBC テーブルに既に書き込まれているデータが永続化され、3 番目のテーブル データが失われます。

参照用に構成ファイルを添付しています。デバッグすることで、Spring によって管理されるトランザクションで挿入ステートメントが実行されていることがわかりました。トランザクション マネージャーの構成に問題はないと確信しています。

0 投票する
1 に答える
483 参照

java - JSR 352 分割チャンク処理

JSR 352 モードの Spring Batch でチャンク ステップ (リーダー - プロセッサ - ライター) を実行しようとしています。MyItemReaderパーティショニングがすべてのパーティションに対してバッチ Artifacts ( ) の新しいインスタンスを作成するのか、それとも Artifacts がステートフルなのか (つまり、Artifact で定義されたグローバル変数が複数のスレッドで再利用され、スレッド セーフではないのか)を知りたいと思いました。

ありがとう

0 投票する
1 に答える
1242 参照

java - java.time.LocalDateTimeでjadira PersistentLocalDateTimeを設定するには?

java.time.LocalDateTimeHibernate と JPA を使用して永続化しようとしています。Jadira フレームワーク ("org.jadira.usertype:usertype.core:3.2.0.GA" & "org.jadira.usertype:usertype.extended:3.2.0.GA") を使用しました。package-info.javaファイルを作成し、@TypeDefs({@TypeDef(defaultForType = java.time.LocalDateTime.class, typeClass = org.jadira.usertype.dateandtime.threeten.PersistentLocalDateTime.class)})そこに作成しました。ソリューションをテストしたところ、java.time.LocalDateTimeフィールドは MySQL データベースのDATETIME列 (ほぼ) に正しく格納/取得されました。

唯一の問題は、データベースの値が Java のフィールドからの正しい時間値に対して +2 時間であることです。私はCEST(UTC + 2)にいるので、これはタイムゾーンの問題であることを理解しました. のコードをデバッグしたPersistentLocalDateTimeところ、これが見つかりました。

  1. PersistentLocalDateTime使っているorg.jadira.usertype.dateandtime.threeten.columnmapper.AbstractTimestampThreeTenColumnMapper
  2. AbstractTimestampThreeTenColumnMapperフィールドZoneOffset databaseZoneはデフォルトでZoneOffset.of("Z")(UTC) に設定されています。
  3. 私のデータベースは UTC タイムゾーンである (そしてアプリケーションは UTC+2 である) と考えているため、データベースへの変換中に 2 時間が追加されます (データベースからの変換中に私の時間から 2 時間が減算されます)。したがって、アプリケーションでは正しい日付と時刻が表示されますが、データベースでは表示されません。

にパラメーターを追加できることがわかった@TypeDefので、以下のように指定しました。

しかし、私には例外があります:

もう少しデバッグしました。AbstractTimestampThreeTenColumnMapper次の 2 つの方法があります。

getHibernateTyperesolveCalendarメソッドが を返すため、メソッドは例外をスローしますnull。なぜそれが返されるのnullですか?とのタイムゾーン ID が一致しないためjava.time.ZoneOffsetですjava.util.TimeZone。私が見る限り、一致する唯一の可能な値はZ. その他の値を指定すると、例外が発生します。

これを正しく設定する方法はありますか?それとも Jadira フレームワークのバグですか?

0 投票する
0 に答える
816 参照

java - JSR 105 と HSM 秘密鍵を使用した Java 署名 XML ドキュメント

JSR 105 API を使用して XML ドキュメントに署名する必要があります。標準プロバイダーを使用してそれを行う方法はすでにわかっていますが、HSM をサポートするコードが必要です。で、これが問題。

次のように署名を初期化すると:

HSM (SunPKCS11 プロバイダー) から取得した秘密鍵を使用すると、次の例外/エラーが発生します。

SunPkcs11 プロバイダで署名ファクトリを初期化すると、次のようになります。

私はこの例外を受けています:

少しグーグルで検索したところ、XML 署名で使用されるプロバイダーには JSR 105 拡張子が必要であることがわかりましたが、SunPkcs11 には拡張子がないようです。それがあれば、それはうまくいくでしょう。

オープンソースまたはJava / Oracleが提供するコードを使用してこの状況を解決する方法を知っている人はいますか?

ありがとう、ジョセフ

0 投票する
0 に答える
55 参照

java - jvm クラスのリロード提案、現在それを目指している JSR はありますか?

クラスのリロードは、生産性を大幅に向上させると思います。クラスの再定義は非常に限られていると思います。

何年にもわたって、アプリケーションの一部をある種のドメイン固有言語 (DSL) で、または XML や json やプロパティ ファイルなどのより自由な形式で絶えず変更し続けるためのいくつかの回避策を見つけましたfunction (){}。可能であり、以前の関数定義を上書きすることは簡単に可能です。

私の考え:

クラスをリロード可能にするため、またはクラスをスクリプトとして機能させるために、注釈を付けることができます。つまり、.java ファイルを DSL として扱うことができます。

現在、リロード可能なクラスの参照が他の場所で役立ち、クラスをアンロードしようとしているときにメモリ リークが発生する可能性があるという懸念があります。

これを克服するには、いくつかの制約を適用する必要があります。この部分は難しいですが、インターフェイス コントラクトまたは注釈を使用できます。必要に応じて、OSGi 記述子によく似ているが、インターセプターまたはインターフェースを使用するクラス内で、エクスポートと依存関係に課されるコントラクトが存在する可能性があります。OSGi は、クラスごとに必要とされないバージョンの依存関係のマッチングなどを処理するため、OSGi よりも単純である必要があります。

この機能は非常に便利だと思います。副産物として、java を構成ファイルとして、java を DSL として使用できますが、プログラムのほとんどの部分はコンパイルされたモノリスのままで十分にパフォーマンスを発揮できます。

JavaScript プログラムは常に、構成記述子として javascript または json を使用します。これもまた、javascript オブジェクト表記です。Java または任意の jvm 言語で同じことができるはずです。

Javaモジュールシステムはこれに焦点を当てていますか?

注: これは質問形式ではなく、むしろ提案だと思います。その意味で、間違った QA サイトにあります。どこに引っ越せばいいのかわからないので、ここで声を出して考えています。移動先を提案します。