問題タブ [bindy]

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 投票する
2 に答える
1504 参照

java - Camel CSVRecord Camel Bindy

csvファイルを解析するためにbindy(2.16.0)でキャメルを使用しています。ファイルには、ヘッダーとフッターが含まれています。どちらも、他のすべてのレコードの共通データを記述するメタデータとして使用されます。(お客様が定義したため、CSV 形式を変更することはできません)

Bindy を使用してデータを解析しています。私が抱えている問題は、CSVRecord ではフッターを除外できないことです。ヘッダーはスキップできますが、データ形式が異なるためフッターを解析できないため、データの解析に失敗します。

CSVRecord バインディングから最後の行/フッターを除外する方法はありますか、または別の方法でキャメルを読み取って最後の行を削除する方法はありますか?

0 投票する
2 に答える
1910 参照

java - Camel Bindy Fixed Length Format : 継承されたクラスを使用するには?

CommonRequest と AccountRequest の 2 つのクラスがあります。

そして AccountRequest.java

cmNumberaccountNumberaccountTypeaccountLocationのようなレコードを非整列化しようとすると

一般的なリクエストを適切にアンマーシャリングしますが、AccountRequest をアンマーシャリングしようとすると、一般的なリクエストに残された位置から続行するのではなく、最初から位置を取ります。

そして、これは AccountRequest のフィールド全体を一致させません。

0 投票する
3 に答える
2692 参照

apache-camel - Camel Bindy を使用してヘッダーとフッターを含むフラット ファイルを生成する方法

現在、camel Bindy を使用して POJO からフラット ファイルを生成できますが、完全なファイルにヘッダーとフッターを追加することはできません。

しかし、ファイルにヘッダー/フッターを追加しようとすると、単一のレコードに追加されますが、ファイル内の各レコードではなく、ファイル全体に単一のヘッダー/フッターを追加する必要があります。

以下はコード スニペットです。

プロセスクラスは

POJO クラス

ビンディクラス

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

apache-camel - Apache Camel Bindy - フィールドのデータ型をカスタマイズできますか?

「A」または「B」としましょう。FF4J (固定形式 4J) を使用する場合は、フォーマッターを使用して列挙型を定義できます。Apache Camel Bindy はどうですか。FF4J フォーマッターに似たものは見つかりません。

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

apache-camel - Apache Camel BindyFixedLengthDataFormat オブジェクトを介して isHeader/isFooter 注釈付きプロパティを取得する方法

これらのレコードの 1 つを介して BindyFixedLengthDataFormat オブジェクトを初期化する FixedLengthRecord オブジェクトがいくつかあります。最初に、その POJO がヘッダーまたはフッターであるかどうかを知る必要があります (これらの pojo に注釈を付けました)。次に、その他の手順を実行します。

私の問題は、その FixedLengthRecord isHeader/isFooter であるかどうかを取得する方法がわからないことです。どんな助けにも感謝します。(Google は役に立ちませんでした。)

0 投票する
2 に答える
701 参照

apache-camel - bindy (Apache Camel DataFormat - FixedLength) を初期化し、同じルートで使用することが可能

私の入力ファイルはいくつかのタイプの FixedLengthRecord で構成されているため、各投稿を非整列化するための FixedLengthDataFormat がたくさんあります。

  1. 行ごとに体を分割します
  2. まず、どの DataFormat を使用すべきかを理解し、オブジェクトを作成する必要があります
  3. 次にアンマーシャル

このようなもの:

しかし、私の問題は、プロセスを介して初期化すると、そのバインド オブジェクトの NPE を取得することです。しかし、ルート定義の前 (from の前) にバインド オブジェクトを作成すると、正常に動作します。私のバインド オブジェクトはボディに依存しており、ルート定義の前に初期化できません。実際に Apache Camel はルートを開始する前に bindy オブジェクトの初期化を処理します

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

model - 複数の BindyFixedLengthDataFormat モデルをどのようにマーシャリングしますか (camel-bindy-2.16)

現在、camel-bindy-2.12.1からcamel- bindy-2.16.2 にアップグレードしようとしていますが、複数のクラスで構成されるモデルをデータ セットに適用しようとすると、単一のテキスト ファイルになるという問題が発生します。

パッケージ (com.sample.package) には、次のコード (Camel Spring DSL) を使用してマーシャリングに使用できるいくつかのクラスがありました。

次に、マーシャリング時に Bean を参照します。

この Bean 呼び出しにより、パッケージ内のすべてのクラスがマーシャリングされるデータに適用され、1 つのファイルが作成されます。

camel-bindy-2.12.1 ではうまく機能しましたが、上記のコンストラクターはcamel-bindy-2.16.2 では使用できなくなりました。

削除されたコンストラクターで同じ機能を実現する例を見つけることができませんでした。

誰かがこの状況に遭遇しましたか? もしそうなら、どんな提案/例も大歓迎です。

ありがとうございました

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

java - apache camelの「一部のフィールドが欠落しています(オプションまたは必須)、行:1」というエラーは何を意味しますか?

オブジェクトのリストにapache camelとbindyを使用してcsvファイルの変換を実装しようとしています。

ここのようにやろうとしましたhttp://www.mastertheintegration.com/camel/transforming-data-with-camel/transforming-csv-to-Java-objects-using-camel.html

残念ながら、次のエラーが表示されます。

ここに私のクラスがあります:

Main.java

CsvFileTransformService.java

CsvBean.java

ありがとう!

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

java - nullの場合、camel-bindyが最初の列をマッピングしない

これは私が持っているものに似ています:

列 2 または 3 が空の場合、まったく問題はありません。これらのフィールドには null 値が含まれているだけです (-> がタブ表現であると想像してください)。

次のような拘束力のある結果で

ここまでは順調ですが、最初の列が null の場合、列 2 の値 (sku) はバインダーによって列 1 のバインドされた属性 "vendor" に割り当てられ、列 3 の値は列 2 のバインドされた属性 ( sku)、列 3 にバインドされた実際の属性は null のままです。

次のようなことをします:

いつでも "required=true" にすることができることはわかっていますが (それが最初に行われた方法です)、それでも 2 番目のものが null でない場合でも失敗しません。一方、columns required true を実行するのは良い考えではありません。1 つの行に何かが欠けているため、ファイル全体が拒否されるため、私たちの戦略は、必須のフィールドを手動で検証することです。それを正しくログに記録し、すべての列で正しい行を処理できます。

これは、このライブラリの私の依存関係です:

そして、これはバインディング ライブラリの名前になります。

CsvRecord アノテーションと DataField アノテーションにあるすべての属性をチェックし、解決することを期待してそれらのいくつかをやみくもに試しました。

なぜこれが起こっているのか誰にも分かりますか?または、それが後のバージョンで解決されたライブラリの問題である場合は? または私が試すことができる提案はありますか?

もちろん、私が得ることができるどんな助けや答えにも前もって感謝しています!

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

java - 一部の列に引用符があり、一部の列に引用符がない場合、キャメルバインドでcsvファイルを解析する方法は?

Camel bindy を使用して csv ファイルを処理しようとしています。ファイルの行は次のようになります。

私のモデルファイルは次のとおりです。

unmarshall(bindy) メソッドを使用します。私が得た例外は次のとおりです。

問題は、最初の「id」値に引用符がなく、残りの列にあることだと思います。どうすれば解決できますか?