You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2017/04/03 11:10:07 UTC
[08/15] james-project git commit: JAMES-1982 Provides default values
for JMX & unbound sockets
JAMES-1982 Provides default values for JMX & unbound sockets
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/4321bcc5
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/4321bcc5
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/4321bcc5
Branch: refs/heads/master
Commit: 4321bcc58781d57e065da8ea87617bcf2e123160
Parents: f41a3cf
Author: benwa <bt...@linagora.com>
Authored: Sat Apr 1 10:19:00 2017 +0700
Committer: benwa <bt...@linagora.com>
Committed: Mon Apr 3 18:09:32 2017 +0700
----------------------------------------------------------------------
server/container/guice/jmx/pom.xml | 4 ++++
.../org/apache/james/modules/server/JMXServer.java | 15 ++++++++++-----
2 files changed, 14 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/4321bcc5/server/container/guice/jmx/pom.xml
----------------------------------------------------------------------
diff --git a/server/container/guice/jmx/pom.xml b/server/container/guice/jmx/pom.xml
index 397d0bb..abf5f41 100644
--- a/server/container/guice/jmx/pom.xml
+++ b/server/container/guice/jmx/pom.xml
@@ -190,6 +190,10 @@
<artifactId>guice-multibindings</artifactId>
</dependency>
<dependency>
+ <groupId>com.github.fge</groupId>
+ <artifactId>throwing-lambdas</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
http://git-wip-us.apache.org/repos/asf/james-project/blob/4321bcc5/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JMXServer.java
----------------------------------------------------------------------
diff --git a/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JMXServer.java b/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JMXServer.java
index 4b4e63d..5078629 100644
--- a/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JMXServer.java
+++ b/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JMXServer.java
@@ -19,8 +19,8 @@
package org.apache.james.modules.server;
-import java.io.IOException;
import java.lang.management.ManagementFactory;
+import java.net.ServerSocket;
import java.rmi.registry.LocateRegistry;
import java.util.HashSet;
import java.util.Map;
@@ -38,6 +38,7 @@ import org.apache.commons.configuration.PropertiesConfiguration;
import org.apache.james.filesystem.api.FileSystem;
import org.apache.james.util.RestrictingRMISocketFactory;
+import com.github.fge.lambdas.Throwing;
import com.google.common.base.Throwables;
import com.google.common.collect.ImmutableMap;
@@ -48,6 +49,7 @@ public class JMXServer {
private final Object lock;
private JMXConnectorServer jmxConnectorServer;
private boolean isStarted;
+ private RestrictingRMISocketFactory restrictingRMISocketFactory;
@Inject
public JMXServer(FileSystem fileSystem) {
@@ -88,10 +90,10 @@ public class JMXServer {
private void doStart() {
try {
PropertiesConfiguration configuration = new PropertiesConfiguration(fileSystem.getFile(FileSystem.FILE_PROTOCOL_AND_CONF + "jmx.properties"));
- String address = configuration.getString("jmx.address");
- int port = configuration.getInt("jmx.port");
+ String address = configuration.getString("jmx.address", "localhost");
+ int port = configuration.getInt("jmx.port", 9999);
String serviceURL = "service:jmx:rmi://" + address + "/jndi/rmi://" + address+ ":" + port +"/jmxrmi";
- RestrictingRMISocketFactory restrictingRMISocketFactory = new RestrictingRMISocketFactory(address);
+ restrictingRMISocketFactory = new RestrictingRMISocketFactory(address);
LocateRegistry.createRegistry(port, restrictingRMISocketFactory, restrictingRMISocketFactory);
Map<String, ?> environment = ImmutableMap.of();
@@ -117,7 +119,10 @@ public class JMXServer {
});
registeredKeys.clear();
jmxConnectorServer.stop();
- } catch (IOException e) {
+ restrictingRMISocketFactory.getSockets()
+ .forEach(Throwing.consumer(ServerSocket::close)
+ .sneakyThrow());
+ } catch (Exception e) {
throw Throwables.propagate(e);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org