問題タブ [smooks]
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 - Smooks を使用した Java Object to Map 変換、または可能な他のトランスフォーマーはありますか?
Java オブジェクトがマップに変換され、ネストされたオブジェクトがネストされたマップとして表されるように、汎用トランスフォーマーが必要です。例えば
に変換:
変換フレームワークのソリューションを投稿してください。
apache-camel - キャメルはコンポーネントのスモークを見つけることができません
私はラクダのルートでスモークトランスフォーメーションを実行しようとしています。私はラクダがそれをネイティブにサポートしているのを見ましたが、私が私の単純なルートを実行すると:
次のエラーが発生します。
アプリケーションはMavenCamelプラグインで実行されるため、pom.xmlは次のとおりです。
したがって、ラクダがこのコンポーネントを取得できないことがわかります(私はラクダのアーティファクトの最後のバージョンを使用しています)。他の依存関係を追加する必要がありますか?
よろしくお願いします
apache-camel - キャメル:Smooksフィルタリング操作が失敗しました
私はラクダを使って作業していて、ルートにスモークトランスフォーメーションを追加しようとしています。
このルートを実行すると、次のエラーが発生します
次の場合の私の変換中:
スモークが着信メッセージを読み取れないことを示しています。何か助けはありますか?
smooks - Smooks CSV と ftl
csv ファイルがあり、それを smooks を使用して xml に変換する必要があります。csv ファイルの形式は次のとおりです。
名、姓、性別、年齢、国
そして、私はそれをに変換する必要があります
smooks の設定を次のように記述しました。
しかし、それはエラーになります。コードの一部を削除すると、xml への基本的な変換が機能するので、間違った方法で ftl を使用していると思われます。何か助けはありますか?
apache-camel - smooksを使用したEDIからxmlへの変換
org.apache.camel.Processorインターフェースを実装するorg.milyn.smooks.camel.processor.SmooksProcessorを使用して、EDIメッセージを含むファイルをxmlに変換しようとしました。ファイルを含むディレクトリは、ラクダのソースエンドポイントとして設定されます。ただし、メッセージを解析しようとすると、エラーが発生し、SmooksExceptionが次のようにスローされます。
org.milyn.SmooksException:ソースのフィルタリングに失敗しました。org.milyn.delivery.sax.SmooksSAXFilter.doFilter(SmooksSAXFilter.java:97)[milyn-smooks-core-1.5.1.jar:] at org.milyn.delivery.sax.SmooksSAXFilter.doFilter(SmooksSAXFilter.java: 64)[milyn-smooks-core-1.5.1.jar:] at org.milyn.Smooks._filter(Smooks.java:526)[milyn-smooks-core-1.5.1.jar:]atorg.milyn。 Smooks.filterSource(Smooks.java:482)[milyn-smooks-core-1.5.1.jar:] at org.milyn.smooks.camel.processor.SmooksProcessor.process(SmooksProcessor.java:95)[milyn-smooks- camel-1.4.jar:] org.apache.camel.util.AsyncProcessorConverterHelper $ ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)[camel-core-2.10.1.jar:2.10.1]atorg.apache.camel。 util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[camel-core-2.10.1.jar:2.10。
EDIメッセージとedi-to-xmlの構成は、smooksのWebサイトに記載されているものと同じです。何が問題なのでしょう?私はmilyn-smooks-camelv1.4とmilyn-smooks-corev1.5.1を使用しています。
前もって感謝します。
java - Smooks EDI ライター
EDI 生成をサポートしていることが smooks の Web サイトで見られます。ただし、edi ライターの構成を指定する方法はありません (スキーマhttp://www.milyn.org/xsd/smooks/edi-1.1.xsdで定義されたリーダーの場合と同様)。
特定のフォーラムのいくつかの古い投稿で、smooks がそのようなライターを計画しているのを見てきました。利用可能ですか?前もって感謝します。
python - 大きなCSVファイルをOracleテーブルにロードするためのテクノロジーの選択
私は問題に遭遇しましたが、それを実装するのに最適なテクノロジーがどれであるかわかりません。あなたたちがあなたの経験に基づいて私にいくつかを提案することができれば義務付けられるでしょう。10〜15個のCSVファイルからデータをロードしたいのですが、それぞれが5〜10GBとかなり大きいです。データをロードするということは、CSVファイルをXMLに変換してから、このXMLを使用してOracleに約6〜7個のステージングテーブルを設定することを意味します。XMLの要素、そして最終的にはテーブルの行が複数のCSVファイルから取得されるように、データを入力する必要があります。したがって、たとえば要素Aには、CSVファイル1、ファイル2、ファイル3などからのデータからなるサブ要素があります。
Linux上のJbossであるApacheCamelの上にフレームワークを構築しています。Oracle10Gはデータベースサーバーです。私が検討しているオプション、
- Smooks-ただし、問題は、Smooksが一度に1つのCSVをシリアル化し、Beanの数が非常に多いためにメモリが不足するリスクがあるため、他のCSVファイルが読み取られるまで半分ベイクされたJavaBeanを保持する余裕がないことです。 XMLとしてディスクに書き込まれるように完全に入力される前に、作成して保持する必要があります。
- SQLLoader-XMLの作成をすべてスキップして、SQLLoaderを使用してCSVをステージングテーブルに直接ロードできます。しかし、私ができるかどうかはわかりません。SQLローダーの複数のCSVファイルを同じテーブルにロードして、最初のファイルの後のレコードを更新します。b。ステージングテーブルのロード中にいくつかの変換ルールを適用します。
- CSVをXMLに変換するPythonスクリプト。
- SQLLoaderを使用して、CSVデータに対応する別のステージングテーブルのセットをロードし、ストアドプロシージャを記述して、この新しいステージングテーブルのセット(既存のフレームワークへの変更の量を考慮して避けたいパス)から実際のステージングテーブルをロードします。必要になります)。
前もって感謝します。誰かが私を正しい方向に向けたり、彼/彼女の個人的な経験からいくつかの洞察を与えてくれるなら、それは私が情報に基づいた決定をするのを助けるでしょう。
よろしく、-v-
PS:CSVファイルはかなり単純で、それぞれ約40列です。オブジェクトの深さまたはファイル間の関係は、約2〜3になります。
java - Smooks CSV ファイルを JAVA に変換すると、次のクラスローダーが見つかりませんでした: au.com.bytecode.opencsv.CSVReader
csv ファイルを Java に変換するために smooks を使用するようになったので、au.com.bytecode.opencsv.CSVReader に対して Exception No ClassLoaders found が発生しました。
私は例外を取得しています
java - JavaクラスでDataDecodeExceptionのログを処理および表示する方法
csvファイルをJavaに読み込んだので、DataDecodeExceptionを取得したので、例外を処理するにはどうすればよいですか。それまでは、smooks例外を処理し、「org.milyn.SmooksException:ソースのフィルターに失敗しました」のようにログを出力します。しかし、次のようにログを出力する必要がありますorg.milyn.javabean.DataDecodeException:Bean'customer'のプロパティ'telcoId'のバインディング値'A'のデコードに失敗しました。どうすればこれを達成できますか?
例外:
smaplecode:
smooks - Smooks でプログラムによる構成を使用した MVEL 式
プログラムによる構成で単純な Java から Java への変換を行ったところ、うまく機能しました。次に、次のユースケースで拡張する必要があります。実際には、それらはすべて MVEL 式に依存しています。Xml 構成の例を見つけたので、ソリューションは次のようになります。
しかし、プログラムによる構成(つまりBeanを使用) でそれを行う方法は?