Subversion Repositories SmartDukaan

Rev

Rev 3428 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
3024 mandeep.dh 1
/**
2
 * 
3
 */
4
package in.shop2020.crm.service;
5
 
6
import in.shop2020.crm.CRMService.Processor;
7
import in.shop2020.crm.service.handler.CRMServiceHandler;
8
import in.shop2020.thrift.clients.config.ConfigClient;
9
import in.shop2020.utils.ConfigClientKeys;
10
 
11
import org.apache.thrift.protocol.TBinaryProtocol;
12
import org.apache.thrift.protocol.TProtocolFactory;
13
import org.apache.thrift.server.TServer;
14
import org.apache.thrift.server.TThreadPoolServer;
15
import org.apache.thrift.transport.TFramedTransport;
16
import org.apache.thrift.transport.TServerSocket;
17
import org.apache.thrift.transport.TServerTransport;
18
import org.apache.thrift.transport.TTransportFactory;
19
import org.slf4j.Logger;
20
import org.slf4j.LoggerFactory;
21
 
22
/**
23
 * Service for accessing all necessary data relevant for CRM tool.
24
 * Example tickets, activities, agents etc.
25
 *
26
 * @author mandeep
27
 */
28
public class CRMServer {
29
    private static Logger            logger = LoggerFactory.getLogger(CRMServer.class);
30
 
31
    private static CRMServiceHandler handler;
32
 
33
    private static Processor         processor;
34
 
35
    public static void main(String[] args) {
36
        try {
37
            handler = new CRMServiceHandler();
38
            processor = new Processor(handler);
39
 
40
            int port = 9014;
41
            try {
42
                String portNo = ConfigClient.getClient().get(
43
                        ConfigClientKeys.crm_service_server_port
44
                                .toString());
45
                port = Integer.parseInt(portNo);
46
            } catch (Exception e) {
47
                logger.warn(
48
                        "Unable to get port number from the Config server because of:",
49
                        e);
50
            }
51
 
52
            TServerTransport serverTransport = new TServerSocket(port);
53
            TTransportFactory tFactory = new TFramedTransport.Factory();
54
            TProtocolFactory pFactory = new TBinaryProtocol.Factory();
55
            TServer server = new TThreadPoolServer(processor, serverTransport,
56
                    tFactory, pFactory);
57
 
58
            logger.info("CRM service started on port 9014");
59
            server.serve();
60
        } catch (Exception ex) {
61
            ex.printStackTrace();
62
        }
63
    }
64
}