mirror of
https://codeberg.org/Mercury-IM/Smack
synced 2024-11-22 22:32:06 +01:00
SMACK-462 Use getInstace() ConnectionCreationListener
Prevent duplicate instances of a manager by using it's getInstance() method instead of the manager's constructor. git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_3_2@13800 b35dd754-fafc-0310-a699-88a17e54d16e
This commit is contained in:
parent
0e6817dc4f
commit
49573866ab
5 changed files with 10 additions and 8 deletions
|
@ -58,7 +58,7 @@ public class PrivacyListManager {
|
|||
// instance when the connection is closed.
|
||||
Connection.addConnectionCreationListener(new ConnectionCreationListener() {
|
||||
public void connectionCreated(Connection connection) {
|
||||
new PrivacyListManager(connection);
|
||||
getInstanceFor(connection);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -129,8 +129,10 @@ public class PrivacyListManager {
|
|||
* @param connection the connection used to look for the proper PrivacyListManager.
|
||||
* @return the PrivacyListManager associated with a given Connection.
|
||||
*/
|
||||
public static PrivacyListManager getInstanceFor(Connection connection) {
|
||||
return instances.get(connection);
|
||||
public static synchronized PrivacyListManager getInstanceFor(Connection connection) {
|
||||
PrivacyListManager plm = instances.get(connection);
|
||||
if (plm == null) plm = new PrivacyListManager(connection);
|
||||
return plm;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -59,7 +59,7 @@ public class KeepAliveManager {
|
|||
if (SmackConfiguration.getKeepAliveInterval() > 0) {
|
||||
Connection.addConnectionCreationListener(new ConnectionCreationListener() {
|
||||
public void connectionCreated(Connection connection) {
|
||||
new KeepAliveManager(connection);
|
||||
getInstanceFor(connection);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -83,7 +83,7 @@ public class AdHocCommandManager {
|
|||
static {
|
||||
Connection.addConnectionCreationListener(new ConnectionCreationListener() {
|
||||
public void connectionCreated(Connection connection) {
|
||||
new AdHocCommandManager(connection);
|
||||
getAddHocCommandsManager(connection);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -60,7 +60,7 @@ public class PingManager {
|
|||
static {
|
||||
Connection.addConnectionCreationListener(new ConnectionCreationListener() {
|
||||
public void connectionCreated(Connection connection) {
|
||||
new PingManager(connection);
|
||||
getInstanceFor(connection);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -47,7 +47,7 @@ public class DeliveryReceiptManager implements PacketListener {
|
|||
static {
|
||||
Connection.addConnectionCreationListener(new ConnectionCreationListener() {
|
||||
public void connectionCreated(Connection connection) {
|
||||
new DeliveryReceiptManager(connection);
|
||||
getInstanceFor(connection);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -74,7 +74,7 @@ public class DeliveryReceiptManager implements PacketListener {
|
|||
*
|
||||
* @return the DeliveryReceiptManager instance for the given connection
|
||||
*/
|
||||
synchronized public static DeliveryReceiptManager getInstanceFor(Connection connection) {
|
||||
public static synchronized DeliveryReceiptManager getInstanceFor(Connection connection) {
|
||||
DeliveryReceiptManager receiptManager = instances.get(connection);
|
||||
|
||||
if (receiptManager == null) {
|
||||
|
|
Loading…
Reference in a new issue