787d2a6dc8343488e0861c8bf9ab71703c29f942
[iotivity.git] / cloud / messagequeue / src / main / java / org / iotivity / cloud / mqserver / MessageQueueServer.java
1 /*
2  * //******************************************************************
3  * //
4  * // Copyright 2016 Samsung Electronics All Rights Reserved.
5  * //
6  * //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
7  * //
8  * // Licensed under the Apache License, Version 2.0 (the "License");
9  * // you may not use this file except in compliance with the License.
10  * // You may obtain a copy of the License at
11  * //
12  * //      http://www.apache.org/licenses/LICENSE-2.0
13  * //
14  * // Unless required by applicable law or agreed to in writing, software
15  * // distributed under the License is distributed on an "AS IS" BASIS,
16  * // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * // See the License for the specific language governing permissions and
18  * // limitations under the License.
19  * //
20  * //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
21  */
22 package org.iotivity.cloud.mqserver;
23
24 import java.net.InetSocketAddress;
25 import java.util.Scanner;
26
27 import org.iotivity.cloud.base.ServerSystem;
28 import org.iotivity.cloud.base.server.CoapServer;
29 import org.iotivity.cloud.mqserver.resources.MQBrokerResource;
30 import org.iotivity.cloud.util.Log;
31
32 public class MessageQueueServer {
33
34     public static void main(String[] args) throws Exception {
35         Log.Init();
36
37         System.out.println("-----MQ SERVER-----");
38
39         if (!(args.length == 6 || args.length == 8)) {
40             Log.e("coap server port, Kafka_zookeeper_Address port"
41                     + " and Kafka_broker_Address Port and TLS mode required\n"
42                     + " and WebSocketLog-Server <Address> <Port> (optional)\n"
43                     + "ex) 5686 127.0.0.1 2181 127.0.0.1 9092 0 127.0.0.1 8080\n");
44
45             return;
46         }
47
48         if (args.length == 8) {
49             Log.InitWebLog(args[6], args[7],
50                     MessageQueueServer.class.getSimpleName().toString());
51         }
52
53         ServerSystem serverSystem = new ServerSystem();
54
55         MQBrokerResource MQBroker = new MQBrokerResource();
56
57         String kafka_zookeeper = args[1] + ":" + args[2];
58         String kafka_broker = args[3] + ":" + args[4];
59         MQBroker.setKafkaInformation(kafka_zookeeper, kafka_broker);
60
61         serverSystem.addResource(MQBroker);
62
63         serverSystem.addServer(new CoapServer(
64                 new InetSocketAddress(Integer.parseInt(args[0]))));
65
66         boolean tlsMode = Integer.parseInt(args[5]) == 1;
67
68         serverSystem.startSystem(tlsMode);
69
70         Scanner in = new Scanner(System.in, "UTF-8");
71
72         System.out.println("press 'q' to terminate");
73
74         while (!in.nextLine().equals("q"));
75
76         in.close();
77
78         System.out.println("Terminating...");
79
80         serverSystem.stopSystem();
81
82         System.out.println("Terminated");
83     }
84 }