package thrift; import javax.swing.JOptionPane; import models.SessionData; import org.apache.log4j.Logger; import org.apache.thrift.protocol.TBinaryProtocol; import org.apache.thrift.protocol.TProtocol; import org.apache.thrift.transport.TSocket; import org.apache.thrift.transport.TTransport; import org.apache.thrift.transport.TTransportException; import server.generated.Server; import server.generated.Server.Client; public class ThriftConnection { private final static Logger LOGGER = Logger.getLogger(ThriftConnection.class); private String satAddress = ""+SessionData.session.getServerAdress(); final TTransport transport = new TSocket(satAddress, 9090); public ThriftConnection() { // TODO Auto-generated constructor stub } public Client getThriftConnection() { try { transport.open(); } catch (TTransportException e) { LOGGER.error("Keine Verbindung möglich! Satellit: " + satAddress); e.printStackTrace(); JOptionPane.showMessageDialog(null, "Konnte keine Verbindung zum Satellit '" + satAddress + "' aufbauen!", "Debug-Message", JOptionPane.ERROR_MESSAGE); return null; } final TProtocol protocol = new TBinaryProtocol(transport); final Server.Client client = new Server.Client(protocol); LOGGER.info("Verbindung zu "+satAddress+" wurde aufgebaut."); return client; } public void closeThriftConnection() { //System.out.println("Ich funktioniere auch, wenn ich nicht geschlossen, sondern im TaskManager gekillt werde"); //works LOGGER.info("Verbindung wird geplant getrennt."); transport.close(); } }