📄 connectionmanagerimpl.java
字号:
SocketConnection conn = new SocketConnection(deliverer, sock, isSecure);
return new ClientSocketReader(router, routingTable, serverName, sock, conn,
useBlockingMode);
}
else if (serverPort.isComponentPort()) {
SocketConnection conn = new SocketConnection(deliverer, sock, isSecure);
return new ComponentSocketReader(router, routingTable, serverName, sock, conn,
useBlockingMode);
}
else if (serverPort.isServerPort()) {
SocketConnection conn = new SocketConnection(deliverer, sock, isSecure);
return new ServerSocketReader(router, routingTable, serverName, sock, conn,
useBlockingMode);
}
else {
// Use the appropriate packeet deliverer for connection managers. The packet
// deliverer will be configured with the domain of the connection manager once
// the connection manager has finished the handshake.
SocketConnection conn =
new SocketConnection(new MultiplexerPacketDeliverer(), sock, isSecure);
return new ConnectionMultiplexerSocketReader(router, routingTable, serverName, sock,
conn, useBlockingMode);
}
}
public void initialize(XMPPServer server) {
super.initialize(server);
this.server = server;
router = server.getPacketRouter();
routingTable = server.getRoutingTable();
deliverer = server.getPacketDeliverer();
sessionManager = server.getSessionManager();
}
public void enableClientListener(boolean enabled) {
if (enabled == isClientListenerEnabled()) {
// Ignore new setting
return;
}
if (enabled) {
JiveGlobals.setProperty("xmpp.socket.plain.active", "true");
// Start the port listener for clients
startClientListeners(localIPAddress);
}
else {
JiveGlobals.setProperty("xmpp.socket.plain.active", "false");
// Stop the port listener for clients
stopClientListeners();
}
}
public boolean isClientListenerEnabled() {
return JiveGlobals.getBooleanProperty("xmpp.socket.plain.active", true);
}
public void enableClientSSLListener(boolean enabled) {
if (enabled == isClientSSLListenerEnabled()) {
// Ignore new setting
return;
}
if (enabled) {
JiveGlobals.setProperty("xmpp.socket.ssl.active", "true");
// Start the port listener for secured clients
startClientSSLListeners(localIPAddress);
}
else {
JiveGlobals.setProperty("xmpp.socket.ssl.active", "false");
// Stop the port listener for secured clients
stopClientSSLListeners();
}
}
public boolean isClientSSLListenerEnabled() {
return JiveGlobals.getBooleanProperty("xmpp.socket.ssl.active", true);
}
public void enableComponentListener(boolean enabled) {
if (enabled == isComponentListenerEnabled()) {
// Ignore new setting
return;
}
if (enabled) {
JiveGlobals.setProperty("xmpp.component.socket.active", "true");
// Start the port listener for external components
startComponentListener(localIPAddress);
}
else {
JiveGlobals.setProperty("xmpp.component.socket.active", "false");
// Stop the port listener for external components
stopComponentListener();
}
}
public boolean isComponentListenerEnabled() {
return JiveGlobals.getBooleanProperty("xmpp.component.socket.active", false);
}
public void enableServerListener(boolean enabled) {
if (enabled == isServerListenerEnabled()) {
// Ignore new setting
return;
}
if (enabled) {
JiveGlobals.setProperty("xmpp.server.socket.active", "true");
// Start the port listener for s2s communication
startServerListener(localIPAddress);
}
else {
JiveGlobals.setProperty("xmpp.server.socket.active", "false");
// Stop the port listener for s2s communication
stopServerListener();
}
}
public boolean isServerListenerEnabled() {
return JiveGlobals.getBooleanProperty("xmpp.server.socket.active", true);
}
public void enableConnectionManagerListener(boolean enabled) {
if (enabled == isConnectionManagerListenerEnabled()) {
// Ignore new setting
return;
}
if (enabled) {
JiveGlobals.setProperty("xmpp.multiplex.socket.active", "true");
// Start the port listener for s2s communication
startConnectionManagerListener(localIPAddress);
}
else {
JiveGlobals.setProperty("xmpp.multiplex.socket.active", "false");
// Stop the port listener for s2s communication
stopConnectionManagerListener();
}
}
public boolean isConnectionManagerListenerEnabled() {
return JiveGlobals.getBooleanProperty("xmpp.multiplex.socket.active", false);
}
public void setClientListenerPort(int port) {
if (port == getClientListenerPort()) {
// Ignore new setting
return;
}
JiveGlobals.setProperty("xmpp.socket.plain.port", String.valueOf(port));
// Stop the port listener for clients
stopClientListeners();
if (isClientListenerEnabled()) {
// Start the port listener for clients
startClientListeners(localIPAddress);
}
}
public int getClientListenerPort() {
return JiveGlobals.getIntProperty("xmpp.socket.plain.port",
SocketAcceptThread.DEFAULT_PORT);
}
public void setClientSSLListenerPort(int port) {
if (port == getClientSSLListenerPort()) {
// Ignore new setting
return;
}
JiveGlobals.setProperty("xmpp.socket.ssl.port", String.valueOf(port));
// Stop the port listener for secured clients
stopClientSSLListeners();
if (isClientSSLListenerEnabled()) {
// Start the port listener for secured clients
startClientSSLListeners(localIPAddress);
}
}
public int getClientSSLListenerPort() {
return JiveGlobals.getIntProperty("xmpp.socket.ssl.port",
SSLSocketAcceptThread.DEFAULT_PORT);
}
public void setComponentListenerPort(int port) {
if (port == getComponentListenerPort()) {
// Ignore new setting
return;
}
JiveGlobals.setProperty("xmpp.component.socket.port", String.valueOf(port));
// Stop the port listener for external components
stopComponentListener();
if (isComponentListenerEnabled()) {
// Start the port listener for external components
startComponentListener(localIPAddress);
}
}
public int getComponentListenerPort() {
return JiveGlobals.getIntProperty("xmpp.component.socket.port",
SocketAcceptThread.DEFAULT_COMPONENT_PORT);
}
public void setServerListenerPort(int port) {
if (port == getServerListenerPort()) {
// Ignore new setting
return;
}
JiveGlobals.setProperty("xmpp.server.socket.port", String.valueOf(port));
// Stop the port listener for s2s communication
stopServerListener();
if (isServerListenerEnabled()) {
// Start the port listener for s2s communication
startServerListener(localIPAddress);
}
}
public int getServerListenerPort() {
return JiveGlobals.getIntProperty("xmpp.server.socket.port",
SocketAcceptThread.DEFAULT_SERVER_PORT);
}
public void setConnectionManagerListenerPort(int port) {
if (port == getConnectionManagerListenerPort()) {
// Ignore new setting
return;
}
JiveGlobals.setProperty("xmpp.multiplex.socket.port", String.valueOf(port));
// Stop the port listener for connection managers
stopConnectionManagerListener();
if (isConnectionManagerListenerEnabled()) {
// Start the port listener for connection managers
startConnectionManagerListener(localIPAddress);
}
}
public int getConnectionManagerListenerPort() {
return JiveGlobals.getIntProperty("xmpp.multiplex.socket.port",
SocketAcceptThread.DEFAULT_MULTIPLEX_PORT);
}
// #####################################################################
// Module management
// #####################################################################
public void start() {
super.start();
isStarted = true;
serverName = server.getServerInfo().getName();
createSocket();
SocketSendingTracker.getInstance().start();
}
public void stop() {
super.stop();
stopClientListeners();
stopClientSSLListeners();
stopComponentListener();
stopConnectionManagerListener();
stopServerListener();
SocketSendingTracker.getInstance().shutdown();
serverName = null;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -