Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
Openfire
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
Openfire
Commits
67d4e1be
Commit
67d4e1be
authored
Nov 23, 2015
by
Dave Cridland
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #394 from dwd/of-115-inbound
OF-115 Process S2S stanzas from a session serially
parents
23def937
2d62c7e1
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
18 additions
and
53 deletions
+18
-53
ServerSocketReader.java
...ava/org/jivesoftware/openfire/net/ServerSocketReader.java
+18
-53
No files found.
src/java/org/jivesoftware/openfire/net/ServerSocketReader.java
View file @
67d4e1be
...
@@ -61,23 +61,9 @@ public class ServerSocketReader extends SocketReader {
...
@@ -61,23 +61,9 @@ public class ServerSocketReader extends SocketReader {
private
static
final
Logger
Log
=
LoggerFactory
.
getLogger
(
ServerSocketReader
.
class
);
private
static
final
Logger
Log
=
LoggerFactory
.
getLogger
(
ServerSocketReader
.
class
);
/**
* Pool of threads that are available for processing the requests.
*/
private
ThreadPoolExecutor
threadPool
;
public
ServerSocketReader
(
PacketRouter
router
,
RoutingTable
routingTable
,
String
serverName
,
public
ServerSocketReader
(
PacketRouter
router
,
RoutingTable
routingTable
,
String
serverName
,
Socket
socket
,
SocketConnection
connection
,
boolean
useBlockingMode
)
{
Socket
socket
,
SocketConnection
connection
,
boolean
useBlockingMode
)
{
super
(
router
,
routingTable
,
serverName
,
socket
,
connection
,
useBlockingMode
);
super
(
router
,
routingTable
,
serverName
,
socket
,
connection
,
useBlockingMode
);
// Create a pool of threads that will process received packets. If more threads are
// required then the command will be executed on the SocketReader process
int
coreThreads
=
JiveGlobals
.
getIntProperty
(
"xmpp.server.processing.core.threads"
,
2
);
int
maxThreads
=
JiveGlobals
.
getIntProperty
(
"xmpp.server.processing.max.threads"
,
50
);
int
queueSize
=
JiveGlobals
.
getIntProperty
(
"xmpp.server.processing.queue"
,
50
);
threadPool
=
new
ThreadPoolExecutor
(
coreThreads
,
maxThreads
,
60
,
TimeUnit
.
SECONDS
,
new
LinkedBlockingQueue
<
Runnable
>(
queueSize
),
new
ThreadPoolExecutor
.
CallerRunsPolicy
());
}
}
/**
/**
...
@@ -89,18 +75,12 @@ public class ServerSocketReader extends SocketReader {
...
@@ -89,18 +75,12 @@ public class ServerSocketReader extends SocketReader {
protected
void
processIQ
(
final
IQ
packet
)
throws
UnauthorizedException
{
protected
void
processIQ
(
final
IQ
packet
)
throws
UnauthorizedException
{
try
{
try
{
packetReceived
(
packet
);
packetReceived
(
packet
);
// Process the packet in another thread
try
{
threadPool
.
execute
(
new
Runnable
()
{
super
.
processIQ
(
packet
);
@Override
}
public
void
run
()
{
catch
(
UnauthorizedException
e
)
{
try
{
Log
.
error
(
"Error processing packet"
,
e
);
ServerSocketReader
.
super
.
processIQ
(
packet
);
}
}
catch
(
UnauthorizedException
e
)
{
Log
.
error
(
"Error processing packet"
,
e
);
}
}
});
}
}
catch
(
PacketRejectedException
e
)
{
catch
(
PacketRejectedException
e
)
{
Log
.
debug
(
"IQ rejected: "
+
packet
.
toXML
(),
e
);
Log
.
debug
(
"IQ rejected: "
+
packet
.
toXML
(),
e
);
...
@@ -116,18 +96,12 @@ public class ServerSocketReader extends SocketReader {
...
@@ -116,18 +96,12 @@ public class ServerSocketReader extends SocketReader {
protected
void
processPresence
(
final
Presence
packet
)
throws
UnauthorizedException
{
protected
void
processPresence
(
final
Presence
packet
)
throws
UnauthorizedException
{
try
{
try
{
packetReceived
(
packet
);
packetReceived
(
packet
);
// Process the packet in another thread
try
{
threadPool
.
execute
(
new
Runnable
()
{
super
.
processPresence
(
packet
);
@Override
}
public
void
run
()
{
catch
(
UnauthorizedException
e
)
{
try
{
Log
.
error
(
"Error processing packet"
,
e
);
ServerSocketReader
.
super
.
processPresence
(
packet
);
}
}
catch
(
UnauthorizedException
e
)
{
Log
.
error
(
"Error processing packet"
,
e
);
}
}
});
}
}
catch
(
PacketRejectedException
e
)
{
catch
(
PacketRejectedException
e
)
{
Log
.
debug
(
"Presence rejected: "
+
packet
.
toXML
(),
e
);
Log
.
debug
(
"Presence rejected: "
+
packet
.
toXML
(),
e
);
...
@@ -143,18 +117,12 @@ public class ServerSocketReader extends SocketReader {
...
@@ -143,18 +117,12 @@ public class ServerSocketReader extends SocketReader {
protected
void
processMessage
(
final
Message
packet
)
throws
UnauthorizedException
{
protected
void
processMessage
(
final
Message
packet
)
throws
UnauthorizedException
{
try
{
try
{
packetReceived
(
packet
);
packetReceived
(
packet
);
// Process the packet in another thread
try
{
threadPool
.
execute
(
new
Runnable
()
{
ServerSocketReader
.
super
.
processMessage
(
packet
);
@Override
}
public
void
run
()
{
catch
(
UnauthorizedException
e
)
{
try
{
Log
.
error
(
"Error processing packet"
,
e
);
ServerSocketReader
.
super
.
processMessage
(
packet
);
}
}
catch
(
UnauthorizedException
e
)
{
Log
.
error
(
"Error processing packet"
,
e
);
}
}
});
}
}
catch
(
PacketRejectedException
e
)
{
catch
(
PacketRejectedException
e
)
{
Log
.
debug
(
"Message rejected: "
+
packet
.
toXML
(),
e
);
Log
.
debug
(
"Message rejected: "
+
packet
.
toXML
(),
e
);
...
@@ -223,9 +191,6 @@ public class ServerSocketReader extends SocketReader {
...
@@ -223,9 +191,6 @@ public class ServerSocketReader extends SocketReader {
@Override
@Override
protected
void
shutdown
()
{
protected
void
shutdown
()
{
super
.
shutdown
();
super
.
shutdown
();
// Shutdown the pool of threads that are processing packets sent by
// the remote server
threadPool
.
shutdown
();
}
}
@Override
@Override
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment