?? mbsputp5.java
字號:
// --------------------------------------------------------------------------------
//
// Program name : MBSputp5.class
//
// Description : Sample Java program that puts a publish message
// to Publish queue
//
// (C) Copyright SAISON INFORMATION SYSTEMS CO.,LTD. 2004 All Rights Reserved.
//
// --------------------------------------------------------------------------------
// --------------------------------------------------------------------------------
//
// Function :
//
// "MBSputp5" is a sample Java program to put a publish message to Publish
// queue. This program gets a message from StdIn, and puts this to Publish
// queue with "PUBLISH" as the UserDefineID.
//
// This program has the following parameters. If the optional parameters
// are omitted, the parameters in System-Environment file( mbcenv.properties )
// will be used.
//
// required :
// (1) -t Topic : The name of the topic
//
// optional :
// (2) -s Server : The name of HULFT-Message Server
// (3) -p Port : The port of HULFT-Message Server
//
// --------------------------------------------------------------------------------
import jp.co.saison.sis.hulft.msg.*;
import java.io.*;
class MBSputp5 {
public static void main(String args[]) {
String usage = "Usage : MBSputp5 [-s Server -p Port] -t Topic";
// ------------------------------------------------------------------------
// Check the arguments
// ------------------------------------------------------------------------
if (args.length > 6) {
System.out.println(usage);
return;
}
boolean arg_s = false, arg_p = false, arg_t = false;
String server = ""; // user define server name
int port = 0; // user define server port
String topic = ""; // user define topic name
for (int i = 0; i < args.length; i++) {
if (args[i].equals("-s")) {
// server name
if ((args.length - i) <= 1) {
System.out.println(usage);
return;
}
i++;
server = args[i];
arg_s = true;
} else if (args[i].equals("-p")) {
// server port
if ((args.length - i) <= 1) {
System.out.println(usage);
return;
}
i++;
port = Integer.parseInt(args[i]);
arg_p = true;
} else if (args[i].equals("-t")) {
// topic name
if ((args.length - i) <= 1) {
System.out.println(usage);
return;
}
i++;
topic = args[i];
arg_t = true;
} else {
System.out.println(usage);
return;
}
}
if ((arg_s && !arg_p) || (!arg_s && arg_p)) {
// server name and server port are mutually required.
System.out.println(usage);
return;
}
if (!arg_t) {
// topic name is not specified.
System.out.println(usage);
return;
}
MBServer mbs = null;
try {
//---------------------------------------------------------------------
// Connect to HULFT-Message Server
//---------------------------------------------------------------------
if (server.equals("")) {
// read server name & server port from <mbcenv.properties>.
mbs = new MBServer();
} else {
// specify server name & server port.
mbs = new MBServer(server, port);
}
mbs.connect();
//---------------------------------------------------------------------
// Open the queue
//---------------------------------------------------------------------
MBQueueRequester mbqrq = new MBQueueRequester("");
// Publish mode
mbqrq.setMessageMode(MBQueueRequester.MESSAGEMODE_PUBLISH);
MBQueueSession mbqs = mbs.openQueue(mbqrq);
// Gets message from StdIn
System.out.println(">> Input data");
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
String messageInput = br.readLine();
// Create put message
byte[] message = messageInput.getBytes();
MBStreamMessage stream = new MBStreamMessage();
stream.write(message);
//---------------------------------------------------------------------
// Put the message to the queue
//---------------------------------------------------------------------
MBMessage msg = new MBMessage(mbs);
MBMessagePutRequester mbputrq = new MBMessagePutRequester(stream);
mbputrq.setDataType(MBMessageRequester.DATATYPE_TEXT); // data type
mbputrq.setUserDefineId("PUBLISH"); // user define ID
// Topic
mbputrq.setTopic(topic);
// Allow localhost to get this message
mbputrq.setGetOwnMessage(MBMessageRequester.GETOWNMESSAGE_GET);
msg.put(mbqs, mbputrq);
//---------------------------------------------------------------------
// Close the queue
//---------------------------------------------------------------------
mbs.closeQueue(mbqs);
System.out.println("Normal termination");
} catch (MBException e) {
System.out.println("HULFT-Message error occured.");
System.out.println("Exception class : " + e.getClass());
System.out.println("Error Code : " + e.getErrorCode());
System.out.println("Detail Code : " + e.getDetailCode());
System.out.println("System Code : " + e.getSystemCode());
System.out.println("Error Message : " + e.getDetailMessage());
e.printStackTrace();
} catch (Exception e) {
System.out.println("Exception class : " + e.getClass());
System.out.println("Exception message : " + e.getMessage());
e.printStackTrace();
} finally {
//---------------------------------------------------------------------
// Disconnect from HULFT-Message Server if already connected
//---------------------------------------------------------------------
if (mbs != null) {
if (mbs.isSession()) {
try {
mbs.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -