⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mbsputr5.java

📁 Hulft-Message是用来在Internet上传输文件数据的商用MiddleWare,特别用于数据量小
💻 JAVA
字号:
// --------------------------------------------------------------------------------
//
//   Program name     : MBSputr5.class
//
//   Description      : Sample Java program that puts messages
//                      in the routing mode
//
//   (C) Copyright SAISON INFORMATION SYSTEMS CO.,LTD. 2004 All Rights Reserved.
//
// --------------------------------------------------------------------------------
// --------------------------------------------------------------------------------
//
//   Function : 
//
//      "MBSputr5" is a sample Java program to put messages to queues in the 
//   routing mode. This program gets a message from StdIn, and puts them to the
//   specified queue with "ROUTING" 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) -r RoutingID  : Routing ID
//
//     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 MBSputr5 {
    public static void main(String args[]) {
        String usage = "Usage : MBSputr5 [-s Server -p Port] -r RoutingID";

        // ------------------------------------------------------------------------
        // Check the arguments
        // ------------------------------------------------------------------------
        if (args.length > 6) {
            System.out.println(usage);
            return;
        }
        boolean arg_s = false, arg_p = false, arg_r = false;
        String server = "";     // user define server name
        int    port   = 0;      // user define server port
        String routingId  = "";     // user define routing ID
        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("-r")) {
                // routing ID
                if ((args.length - i) <= 1) {
                    System.out.println(usage);
                    return;
                }
                i++;
                routingId = args[i];
                arg_r = 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_r) {
            // routing ID 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("");
            // Routing mode
            mbqrq.setOpenMode(MBQueueRequester.OPENMODE_ROUTE);
            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 queues
            //---------------------------------------------------------------------
            MBMessage msg = new MBMessage(mbs);
            MBMessagePutRequester mbputrq = new MBMessagePutRequester(stream);
            mbputrq.setDataType(MBMessageRequester.DATATYPE_TEXT);   // data type
            mbputrq.setUserDefineId("ROUTING");                 // user define ID
            // Routing ID
            mbputrq.setRoutingId(routingId);

            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();
                    }
                }
            }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -