キューでのキュー・エレメントの照会
ワークフロー・ステップ用のキュー内のワーク・アイテムには、キュー・エレメントが含まれています。(各キュー・エレメントには、ワーク・アイテムと特定の時点のその状態を記述するシステム・フィールドが含まれています。) ユーザー受信トレイ照会は、通常キュー・エレメントを照会して、ワーク・アイテムをユーザーに表示します。
キューでキュー・エレメントを照会するためのインストラクションは、ステップ・エレメントまたはワーク・オブジェクトを照会する場合と同じです。推奨される最適化も同じです。この情報については、「ステップ・エレメントまたはワーク・オブジェクトの照会」を参照してください。
例: キュー・エレメントの照会
次の QueueQueryDisplay クラスの例は、キューを照会し、VWQueueElement オブジェクトを取得して表示します。また、QueueHelper と SessionHelper のサンプル・ヘルパー・クラスを使用して、QueueHelper、Logger、および SessionHelper の各オブジェクトを作成する方法も示します。
import filenet.vw.api.*;
/*
* This sample QueueQueryDisplay class illustrates how to query queues
* and display queue results using the VWQueueElement class.
*/
public class QueueQueryDisplay extends Object
{
// declare variables
/*
* Constructor - performs initialization and establishes
* the Process session.
*/
public QueueQueryDisplay(VWSession vwSession, Logger logger, String queueName)
{
QueueHelper queueHelper = null;
VWQueue vwQueue = null;
VWQueueElement vwQueueElement = null;
try
{
logger.logAndDisplay("¥n~ QueueQueryDisplay の実行を開始。");
// ヘルパー・クラスを作成
queueHelper = new QueueHelper(vwSession, logger);
// get the requested queue
vwQueue = queueHelper.getQueue(queueName);
if (vwQueue != null)
{
// get a Queue Element
vwQueueElement = queueHelper.getQueueElement(vwQueue);
if (vwQueueElement != null)
{
// コメントを設定
vwQueueElement.setComment("This is the user's comment.");
// キュー・エレメント情報を表示
logger.displayQueueElementInfo(vwQueueElement);
}
{
// display the queue contents
displayQueueContents(VWQueue vwQueue);
}
}
}
catch(Exception ex)
{
if (logger != null)
logger.log(ex);
else
ex.printStackTrace();
}
finally
{
if (logger != null)
logger.logAndDisplay("~ QueueQueryDisplay execution complete.¥n");
}
}
/*
* Creates the Logger and SessionHelper objects, then
* instantiates the outer class.
*
* Define the Main method and variables
*/
public static void main(String args[])
{
String queueName = null;
String outputFileName = null;
Logger logger = null;
SessionHelper sessionHelper = null;
VWSession vwSession = null;
QueueQueryDisplay sampleClass = null;
try
{
// ユーザーが十分な引数を入力したか?
if (args.length < 4 || (args.length > 0 && args[0].compareTo("?") == 0))
{
System.out.println("Usage: QueueQueryDisplay username password router_URL queueName [output_filename]");
System.exit(1);
}
// the file name (for output) is optional
if (args.length > 4)
outputFileName = args[4];
else
outputFileName = new String("QueueQueryDisplay.out");
// ロガーを作成して初期化
logger = new Logger(outputFileName);
// create the session and log in
sessionHelper = new SessionHelper(args[0], args[1], args[2], logger);
vwSession = sessionHelper.logon();
if (vwSession != null)
{
// create the sample class
sampleClass = new QueueQueryDisplay(vwSession, logger, args[3]);
}
}
catch (Exception ex)
{
if (logger != null)
logger.log(ex);
else
ex.printStackTrace();
}
finally
{
// logoff
if (sessionHelper != null)
sessionHelper.logoff();
}
}
}