Subversion Repositories SmartDukaan

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
373 rajveer 1
package in.shop2020.thrift.clients;
2
 
3
import in.shop2020.serving.page.PageLoader.Client;
4
import in.shop2020.utils.ConfigClientKeys;
5
import in.shop2020.utils.Logger;
6
 
7
import javax.annotation.PostConstruct;
8
import javax.annotation.PreDestroy;
9
 
10
import org.apache.thrift.transport.TTransportException;
11
 
402 rajveer 12
public class PageLoaderClient extends GenericServiceClient{
373 rajveer 13
 
14
	private Client client = null;
15
 
16
	public PageLoaderClient(String clientIdentifier, String hostConfigKey,
17
			String portConfigKey) throws Exception {
18
		super(clientIdentifier, hostConfigKey, portConfigKey);
19
		client = new Client(protocol);
20
 
21
	}
22
 
23
	public PageLoaderClient()throws Exception{
24
		this(PageLoaderClient.class.getSimpleName(), ConfigClientKeys.pageloader_service_hostname.toString(), ConfigClientKeys.pageloader_service_port.toString());
25
		if(transport.isOpen()){
26
			Logger.log("Transport was already open", this);
402 rajveer 27
		}else{
28
			try {
29
				transport.open();
30
				Logger.log("Transport opened", this);
31
			} catch (TTransportException e) {
32
				Logger.log("Encountered exception while open transport "+ e, this);
33
			}
373 rajveer 34
		}
35
	}
36
 
37
	@PostConstruct
38
	private void openTransport(){
39
		if(transport.isOpen()){
40
			Logger.log("Transport was already open", this);
41
		}
42
		try {
43
			transport.open();
44
		} catch (TTransportException e) {
45
			Logger.log("Encountered exception while open transport "+ e, this);
46
		}
47
	}
48
 
49
	public Client getClient(){
402 rajveer 50
		if(!transport.isOpen()){
51
			System.out.println("Transport is not open");
52
			try {
53
 
54
				transport.open();
55
			} catch (TTransportException e) {
56
				e.printStackTrace();
57
			}
58
		}
59
		return client;		
373 rajveer 60
	}
61
 
62
	@PreDestroy
63
	private void closeTransport(){
64
		if(transport != null && transport.isOpen()){
65
			Logger.log("Closing transport :", this);
66
			transport.close();
67
		}
68
	}
69
 
70
}