如何重用连接类实例?

时间:2013-11-01 06:39:25

标签: java reusability

Openfire包含一个将用户连接到服务器的connect方法。当用户启动应用程序时,会在开始时调用此方法。

public class Openfire {

  private static Connection connection = new XMPPConnection(Constants.openfireIP);

  public boolean connect(String username,String password) {

    try {
        Openfire.connection.connect();
        Openfire.connection.login(username,password);
    }catch(Exception exc){
        exc.printStackTrace();
        return false;
    }
    return true;
   }

  public static Connection getConnectionInstance() {
      return connection;
  }
}

应用程序中有多个地方需要Connection实例。我想重用它,以便我不再需要调用connect方法。

来电connection.connectconnection.login都不会返回任何内容。

我创建了一个方法,它返回连接实例,但我不明白我在做什么。只是返回实例解决了目的吗?我的意思是,我可以继续不再调用connect方法(来自其他类)吗?

1 个答案:

答案 0 :(得分:0)

为了做到这一点,你需要在静态方法中包含connect()和login()调用适当的方法:

public static Connection getConnectionInstance(String username, String password) {

  boolean isOk = connect(username,password); 

  return connection;

}

为了不在每次需要将连接对象保存在内存中时都不要连接,这样就不会偶尔创建连接。

例如,如果在主框架中使用以下方法创建此连接:

Connection con = Openfire.getConnectionInstance(username,password);

并且您希望在另一个框架中使用此连接,或者在类中的另一个方法中使用此连接,您可以将此con对象传递给该类(框架,方法等)并在那里重复使用它,而无需创建一个新的连接对象