下載
軟體開發
帳戶
下載
軟體開發
登入
我忘記帳戶名和密碼了
新增帳戶
語言
手冊
語言
手冊
×
登入
登入名稱
密碼
×
我忘記帳戶名和密碼了
繁體中文翻譯狀態
類別:
軟體
人
PersonalForge
Magazine
Wiki
搜尋
OSDN
>
軟體搜索
>
System
>
TERASOLUNA Framework
>
討論區
>
公開討論
>
TERASOLUNA Batch Framework for JavaのDBCollectorについて
TERASOLUNA Framework
描述
專案概要
開發人員儀表板
專案的網頁
Developers
Image Gallery
List of RSS Feeds
活動
使用統計
歷史
檔案下載
發布列表
Stats
原始碼
儲存庫列表
Subversion
查看儲存庫
待辦事項
待辦事項列表
里程碑列表
類型列表
元件列表
List of frequently used tickets/RSS
新增待辦事項
文檔
Wiki
FrontPage
Title index
Recent changes
Doc Mgr
List Docs
溝通
討論區
討論區列表
公開討論 (1277)
通信論壇
通信論壇列表
terasoluna-information
新聞
討論區:
公開討論
(Thread #37300)
Return to Thread list
RSS
TERASOLUNA Batch Framework for JavaのDBCollectorについて (2015-11-18 10:23 by
ビン
#77204)
回覆
Create ticket
お疲れ様です。
TERASOLUNA Batch Framework for Java 3.x.xを利用しております。
BLogicの中に、DBCollectorを利用して、データを取得していますが、
問題は取得した結果が0件の判断できませんね。
QueryDAOを利用すれば判断できますが、DBCollectorを利用する場合、どのような判断できるのかお教えて頂けませんか。
宜しくお願い致します。
回覆 #77204
×
主題
內容
Reply To Message #77204 > お疲れ様です。 > > TERASOLUNA Batch Framework for Java 3.x.xを利用しております。 > BLogicの中に、DBCollectorを利用して、データを取得していますが、 > 問題は取得した結果が0件の判断できませんね。 > QueryDAOを利用すれば判断できますが、DBCollectorを利用する場合、どのような判断できるのかお教えて頂けませんか。 > > 宜しくお願い致します。
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
登入
Nickname
預覽
Post
取消
Re: TERASOLUNA Batch Framework for JavaのDBCollectorについて (2015-11-25 20:05 by
komodan
#77247)
回覆
Create ticket
利用されているTERASOLUNA Batch Framework for Java(以下、フレームワークと言います)のバージョンが3.2.0以降であれば、
Collector#hasNextを利用して取得した結果が0件かどうか判断できます。
(Collector#hasNextはCollector#nextで次に返却するデータが無い場合はfalseを返すメソッドです。)
■サンプルコード
(同梱されているチュートリアルのSMP001BLogicのコードを元にしています)
===
// コレクタ
Collector<NyusyukkinData> collector = new DBCollector<NyusyukkinData>(
this.queryRowHandleDAO, "SMP001.selectNyusyukkin", null);
try {
NyusyukkinData inputData = null;
if (!collector.hasNext()) {
// 取得したデータが0件だった場合の処理
return 0;
}
while (collector.hasNext()) {
// 取得したデータ1件ごとに対する処理
inputData = collector.next();
}
===
上記の手順は一例のご紹介になります。
拡張入力チェックエラーハンドラクラスを指定していた場合など、
他の条件によっては、別の方法をご紹介できると思います。
上記の方法ではやりたいことを満たせなかった場合は、
お手数ですが使用しているフレームワークの詳細なバージョンも添えて詳細にご質問いただけますでしょうか。
フレームワークの詳細なバージョンは、
お使いのterasoluna-batch-3.x.x.jarを解凍した中にあるMETA-INF/MANIFEST.MFファイルにある
Implementation-Versionの記述から確認できます。
よろしくお願いします。
回覆:
#77204
回覆 #77247
×
主題
內容
Reply To Message #77247 > 利用されているTERASOLUNA Batch Framework for Java(以下、フレームワークと言います)のバージョンが3.2.0以降であれば、 > Collector#hasNextを利用して取得した結果が0件かどうか判断できます。 > (Collector#hasNextはCollector#nextで次に返却するデータが無い場合はfalseを返すメソッドです。) > > ■サンプルコード > (同梱されているチュートリアルのSMP001BLogicのコードを元にしています) > === > // コレクタ > Collector<NyusyukkinData> collector = new DBCollector<NyusyukkinData>( > this.queryRowHandleDAO, "SMP001.selectNyusyukkin", null); > try { > NyusyukkinData inputData = null; > if (!collector.hasNext()) { > // 取得したデータが0件だった場合の処理 > return 0; > } > > while (collector.hasNext()) { > // 取得したデータ1件ごとに対する処理 > inputData = collector.next(); > } > === > > 上記の手順は一例のご紹介になります。 > 拡張入力チェックエラーハンドラクラスを指定していた場合など、 > 他の条件によっては、別の方法をご紹介できると思います。 > > 上記の方法ではやりたいことを満たせなかった場合は、 > お手数ですが使用しているフレームワークの詳細なバージョンも添えて詳細にご質問いただけますでしょうか。 > > フレームワークの詳細なバージョンは、 > お使いのterasoluna-batch-3.x.x.jarを解凍した中にあるMETA-INF/MANIFEST.MFファイルにある > Implementation-Versionの記述から確認できます。 > > よろしくお願いします。
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
登入
Nickname
預覽
Post
取消
Re: TERASOLUNA Batch Framework for JavaのDBCollectorについて (2015-11-26 18:41 by
ビン
#77257)
回覆
Create ticket
[Reply To Message #77247]
> 利用されているTERASOLUNA Batch Framework for Java(以下、フレームワークと言います)のバージョンが3.2.0以降であれば、
> Collector#hasNextを利用して取得した結果が0件かどうか判断できます。
> (Collector#hasNextはCollector#nextで次に返却するデータが無い場合はfalseを返すメソッドです。)
>
> ■サンプルコード
> (同梱されているチュートリアルのSMP001BLogicのコードを元にしています)
> ===
> // コレクタ
> Collector<NyusyukkinData> collector = new DBCollector<NyusyukkinData>(
> this.queryRowHandleDAO, "SMP001.selectNyusyukkin", null);
> try {
> NyusyukkinData inputData = null;
> if (!collector.hasNext()) {
> // 取得したデータが0件だった場合の処理
> return 0;
> }
>
> while (collector.hasNext()) {
> // 取得したデータ1件ごとに対する処理
> inputData = collector.next();
> }
> ===
>
> 上記の手順は一例のご紹介になります。
> 拡張入力チェックエラーハンドラクラスを指定していた場合など、
> 他の条件によっては、別の方法をご紹介できると思います。
>
> 上記の方法ではやりたいことを満たせなかった場合は、
> お手数ですが使用しているフレームワークの詳細なバージョンも添えて詳細にご質問いただけますでしょうか。
>
> フレームワークの詳細なバージョンは、
> お使いのterasoluna-batch-3.x.x.jarを解凍した中にあるMETA-INF/MANIFEST.MFファイルにある
> Implementation-Versionの記述から確認できます。
>
> よろしくお願いします。
ご回答、ありがとうございます。
> if (!collector.hasNext()) {
> // 取得したデータが0件だった場合の処理
> return 0;
> }
取得データは0件だけではなく、DBアクセスなどの例外もReturn 0となりますね。
回覆:
#77247
回覆 #77257
×
主題
內容
Reply To Message #77257 > [Reply To Message #77247] > > 利用されているTERASOLUNA Batch Framework for Java(以下、フレームワークと言います)のバージョンが3.2.0以降であれば、 > > Collector#hasNextを利用して取得した結果が0件かどうか判断できます。 > > (Collector#hasNextはCollector#nextで次に返却するデータが無い場合はfalseを返すメソッドです。) > > > > ■サンプルコード > > (同梱されているチュートリアルのSMP001BLogicのコードを元にしています) > > === > > // コレクタ > > Collector<NyusyukkinData> collector = new DBCollector<NyusyukkinData>( > > this.queryRowHandleDAO, "SMP001.selectNyusyukkin", null); > > try { > > NyusyukkinData inputData = null; > > if (!collector.hasNext()) { > > // 取得したデータが0件だった場合の処理 > > return 0; > > } > > > > while (collector.hasNext()) { > > // 取得したデータ1件ごとに対する処理 > > inputData = collector.next(); > > } > > === > > > > 上記の手順は一例のご紹介になります。 > > 拡張入力チェックエラーハンドラクラスを指定していた場合など、 > > 他の条件によっては、別の方法をご紹介できると思います。 > > > > 上記の方法ではやりたいことを満たせなかった場合は、 > > お手数ですが使用しているフレームワークの詳細なバージョンも添えて詳細にご質問いただけますでしょうか。 > > > > フレームワークの詳細なバージョンは、 > > お使いのterasoluna-batch-3.x.x.jarを解凍した中にあるMETA-INF/MANIFEST.MFファイルにある > > Implementation-Versionの記述から確認できます。 > > > > よろしくお願いします。 > > ご回答、ありがとうございます。 > > > if (!collector.hasNext()) { > > // 取得したデータが0件だった場合の処理 > > return 0; > > } > 取得データは0件だけではなく、DBアクセスなどの例外もReturn 0となりますね。
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
登入
Nickname
預覽
Post
取消
Re: TERASOLUNA Batch Framework for JavaのDBCollectorについて (2015-11-27 19:21 by
komodan
#77261)
回覆
Create ticket
書いていただいたとおり、例外が発生した際にもReturn 0となる(Collector#hasNextがfalseとなる)場合があります。
DBアクセス例外やデータの入力チェックエラー例外が発生した時に、
拡張例外ハンドラや入力チェックエラーハンドラを使って
CollectorExceptionHandlerStatus(ValidateErrorStatus)のSKIPやENDをreturnすると、例外が発生したデータを無視します。
例えば、例外発生データ1件だけがDBに格納されていたとして、例外ハンドラでSKIPやENDを設定する実装になっていると、
例外発生データ1件を無視するので、結果的に0件という扱いになってしまいます。
上記の状況にあてはまっていますでしょうか?
回覆:
#77257
回覆 #77261
×
主題
內容
Reply To Message #77261 > 書いていただいたとおり、例外が発生した際にもReturn 0となる(Collector#hasNextがfalseとなる)場合があります。 > > DBアクセス例外やデータの入力チェックエラー例外が発生した時に、 > 拡張例外ハンドラや入力チェックエラーハンドラを使って > CollectorExceptionHandlerStatus(ValidateErrorStatus)のSKIPやENDをreturnすると、例外が発生したデータを無視します。 > > 例えば、例外発生データ1件だけがDBに格納されていたとして、例外ハンドラでSKIPやENDを設定する実装になっていると、 > 例外発生データ1件を無視するので、結果的に0件という扱いになってしまいます。 > > 上記の状況にあてはまっていますでしょうか?
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
登入
Nickname
預覽
Post
取消