Skip to content

Commit bbfc713

Browse files
committed
dont close the json parser when deserializing
1 parent 875de17 commit bbfc713

File tree

4 files changed

+27
-4
lines changed

4 files changed

+27
-4
lines changed

config/config.hocon

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ jvmMetricsCollectionInterval="PT.5S"
1212
maxConnectionTimeout="PT2M"
1313
minConnectionTimeout="PT1M"
1414
clusterHostSuffix=".cluster"
15+
clusterJoinActor.type="com.arpnetworking.akka.NonJoiningClusterJoiner"
1516
rebalanceConfiguration {
1617
maxParallel=100
1718
threshold=500

src/main/java/com/arpnetworking/akka/NonJoiningClusterJoiner.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717

1818
import akka.actor.Props;
1919
import akka.actor.UntypedActor;
20+
import com.arpnetworking.steno.Logger;
21+
import com.arpnetworking.steno.LoggerFactory;
2022

2123
/**
2224
* Actor that does not attempt to join a cluster.
@@ -48,13 +50,17 @@ private static Props props(final Builder builder) {
4850
* Public constructor.
4951
*/
5052
public NonJoiningClusterJoiner() {
53+
LOGGER.info()
54+
.setMessage("NonJoiningClusterJoiner starting up")
55+
.log();
5156
}
5257

5358
@Override
5459
public void onReceive(final Object message) throws Exception {
5560
unhandled(message);
5661
}
5762

63+
private static Logger LOGGER = LoggerFactory.getLogger(NonJoiningClusterJoiner.class);
5864

5965
public static class Builder extends ActorBuilder<Builder> {
6066
public Builder() {

src/main/java/com/arpnetworking/clusteraggregator/configuration/ClusterAggregatorConfiguration.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
*/
1616
package com.arpnetworking.clusteraggregator.configuration;
1717

18+
import akka.actor.Props;
19+
import com.arpnetworking.akka.NonJoiningClusterJoiner;
1820
import com.arpnetworking.commons.builder.OvalBuilder;
1921
import com.arpnetworking.commons.jackson.databind.ObjectMapperFactory;
2022
import com.arpnetworking.utility.InterfaceDatabase;
@@ -43,7 +45,7 @@ public final class ClusterAggregatorConfiguration {
4345
* @return An <code>ObjectMapper</code> for TsdAggregator configuration.
4446
*/
4547
public static ObjectMapper createObjectMapper() {
46-
return ObjectMapperFactory.getInstance();
48+
return ObjectMapperFactory.createInstance();
4749
}
4850

4951
public String getMonitoringCluster() {
@@ -138,6 +140,7 @@ public String toString() {
138140
.add("RebalanceConfiguration", _rebalanceConfiguration)
139141
.add("ClusterHostSuffix", _clusterHostSuffix)
140142
.add("DatabaseConfigurations", _databaseConfigurations)
143+
.add("ClusterJoinActor", _clusterJoinActor)
141144
.toString();
142145
}
143146

@@ -159,6 +162,7 @@ private ClusterAggregatorConfiguration(final Builder builder) {
159162
_rebalanceConfiguration = builder._rebalanceConfiguration;
160163
_clusterHostSuffix = builder._clusterHostSuffix;
161164
_databaseConfigurations = Maps.newHashMap(builder._databaseConfigurations);
165+
_clusterJoinActor = builder._clusterJoinActor;
162166
}
163167

164168
private final String _monitoringCluster;
@@ -177,6 +181,7 @@ private ClusterAggregatorConfiguration(final Builder builder) {
177181
private final Period _jvmMetricsCollectionInterval;
178182
private final RebalanceConfiguration _rebalanceConfiguration;
179183
private final String _clusterHostSuffix;
184+
private final Props _clusterJoinActor;
180185
private final Map<String, DatabaseConfiguration> _databaseConfigurations;
181186

182187
private static final InterfaceDatabase INTERFACE_DATABASE = ReflectionsDatabase.newInstance();
@@ -390,6 +395,17 @@ public Builder setDatabaseConfigurations(final Map<String, DatabaseConfiguration
390395
return this;
391396
}
392397

398+
/**
399+
* Configuration a cluster join actor.
400+
*
401+
* @param value The cluster join actor configuration.
402+
* @return This instance of <code>Builder</code>.
403+
*/
404+
public Builder setClusterJoinActor(final Props value) {
405+
_clusterJoinActor = value;
406+
return this;
407+
}
408+
393409
@NotNull
394410
@NotEmpty
395411
private String _monitoringCluster;
@@ -429,6 +445,8 @@ public Builder setDatabaseConfigurations(final Map<String, DatabaseConfiguration
429445
private RebalanceConfiguration _rebalanceConfiguration;
430446
@NotNull
431447
private String _clusterHostSuffix = "";
448+
@NotNull
449+
private Props _clusterJoinActor = new NonJoiningClusterJoiner.Builder().build();
432450
private Map<String, DatabaseConfiguration> _databaseConfigurations;
433451
}
434452
}

src/main/java/com/arpnetworking/configuration/jackson/akka/ActorBuilderDeserializer.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,7 @@ public Props deserialize(final JsonParser p, final DeserializationContext ctxt)
3737
final Builder<? extends Props> value = _mapper.readValue(treeNode.toString(), builder);
3838
return value.build();
3939
} catch (ClassNotFoundException e) {
40-
throw new JsonMappingException(p, String.format("Unable to find class %s referenced by ActorRef type", type));
41-
} finally {
42-
p.close();
40+
throw new JsonMappingException(p, String.format("Unable to find class %s referenced by Props type", type));
4341
}
4442
}
4543

0 commit comments

Comments
 (0)