Skip to content

Commit b62087f

Browse files
control plane > fix injection
1 parent 56c80ec commit b62087f

File tree

7 files changed

+63
-19
lines changed

7 files changed

+63
-19
lines changed

hivemq-edge/src/main/java/com/hivemq/HiveMQEdgeBootstrap.java

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,8 @@
88
import com.hivemq.bootstrap.ioc.DaggerInjector;
99
import com.hivemq.bootstrap.ioc.Injector;
1010
import com.hivemq.bootstrap.ioc.Persistences;
11-
import com.hivemq.bootstrap.services.CompleteBootstrapService;
12-
import com.hivemq.bootstrap.services.CompleteBootstrapServiceImpl;
1311
import com.hivemq.bootstrap.services.GeneralBootstrapServiceImpl;
1412
import com.hivemq.bootstrap.services.PersistenceBootstrapService;
15-
import com.hivemq.bootstrap.services.PersistenceBootstrapServiceImpl;
1613
import com.hivemq.common.shutdown.ShutdownHooks;
1714
import com.hivemq.configuration.ConfigurationBootstrap;
1815
import com.hivemq.configuration.HivemqId;
@@ -64,7 +61,6 @@ public class HiveMQEdgeBootstrap {
6461
private @Nullable GeneralBootstrapServiceImpl generalBootstrapService;
6562
private @Nullable PersistenceBootstrapService persistenceBootstrapService;
6663
private @Nullable Injector injector;
67-
private CompleteBootstrapService completeBootstrapService;
6864

6965
public HiveMQEdgeBootstrap(
7066
final @NotNull MetricRegistry metricRegistry,
@@ -153,7 +149,7 @@ private void bootstrapInjector() {
153149
.restComponentsHolder(genericAPIHolder)
154150
.connectionPersistence(connectionPersistence)
155151
.commercialModuleDiscovery(commercialModuleLoaderDiscovery)
156-
.completeBootstrapService(completeBootstrapService)
152+
.generalBootstrapService(generalBootstrapService)
157153
.hivemqId(hivemqId)
158154
.build();
159155
log.trace("Initialized injector in {}ms", (System.currentTimeMillis() - startDagger));
@@ -182,9 +178,7 @@ private void bootstrapPersistences() {
182178
Preconditions.checkNotNull(commercialModuleLoaderDiscovery);
183179

184180
try {
185-
persistenceBootstrapService = PersistenceBootstrapServiceImpl.decorate(generalBootstrapService,
186-
persistencesService,
187-
capabilityService);
181+
persistenceBootstrapService = injector.persistenceBootstrapService();
188182
commercialModuleLoaderDiscovery.persistenceBootstrap(persistenceBootstrapService);
189183
} catch (Exception e) {
190184
log.warn("Error on bootstrapping persistences.", e);
@@ -198,15 +192,9 @@ private void finishBootstrap() {
198192
Preconditions.checkNotNull(persistences);
199193
Preconditions.checkNotNull(configService);
200194
Preconditions.checkNotNull(commercialModuleLoaderDiscovery);
201-
Preconditions.checkNotNull(persistenceBootstrapService);
202195

203196
try {
204-
completeBootstrapService = CompleteBootstrapServiceImpl.decorate(
205-
persistenceBootstrapService,
206-
persistences,
207-
restComponentsService,
208-
handlerService);
209-
commercialModuleLoaderDiscovery.completeBootstrap(completeBootstrapService);
197+
commercialModuleLoaderDiscovery.completeBootstrap(injector.completeBootstrapService());
210198
} catch (Exception e) {
211199
log.warn("Error on bootstraping persistences.", e);
212200
throw new HiveMQEdgeStartupException(e);
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package com.hivemq.bootstrap.ioc;
2+
3+
import com.hivemq.bootstrap.services.AfterHiveMQStartBootstrapService;
4+
import com.hivemq.bootstrap.services.AfterHiveMQStartBootstrapServiceImpl;
5+
import com.hivemq.bootstrap.services.CompleteBootstrapService;
6+
import com.hivemq.bootstrap.services.CompleteBootstrapServiceImpl;
7+
import com.hivemq.bootstrap.services.PersistenceBootstrapService;
8+
import com.hivemq.bootstrap.services.PersistenceBootstrapServiceImpl;
9+
import com.hivemq.extension.sdk.api.annotations.NotNull;
10+
import dagger.Binds;
11+
import dagger.Module;
12+
13+
import javax.inject.Singleton;
14+
15+
@Module
16+
public abstract class BootstrapServicesModule {
17+
18+
@Singleton
19+
@Binds
20+
abstract @NotNull PersistenceBootstrapService persistenceBootstrapService(final @NotNull PersistenceBootstrapServiceImpl persistenceBootstrapService);
21+
22+
@Singleton
23+
@Binds
24+
abstract @NotNull CompleteBootstrapService completeBootstrapService(final @NotNull CompleteBootstrapServiceImpl completeBootstrapService);
25+
26+
@Singleton
27+
@Binds
28+
abstract @NotNull AfterHiveMQStartBootstrapService afterHiveMQStartBootstrapService(final @NotNull AfterHiveMQStartBootstrapServiceImpl afterHiveMQStartBootstrapService);
29+
}

hivemq-edge/src/main/java/com/hivemq/bootstrap/ioc/Injector.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,10 @@
2020
import com.hivemq.api.ioc.ApiModule;
2121
import com.hivemq.api.resources.GenericAPIHolder;
2222
import com.hivemq.bootstrap.netty.ioc.NettyModule;
23+
import com.hivemq.bootstrap.services.AfterHiveMQStartBootstrapService;
2324
import com.hivemq.bootstrap.services.CompleteBootstrapService;
25+
import com.hivemq.bootstrap.services.GeneralBootstrapService;
26+
import com.hivemq.bootstrap.services.PersistenceBootstrapService;
2427
import com.hivemq.bridge.ioc.BridgeModule;
2528
import com.hivemq.common.executors.ioc.ExecutorsModule;
2629
import com.hivemq.common.shutdown.ShutdownHooks;
@@ -75,7 +78,8 @@
7578
ModulesModule.class,
7679
UnsServiceModule.class,
7780
DataGovernanceModule.class,
78-
RemoteServiceModule.class})
81+
RemoteServiceModule.class,
82+
BootstrapServicesModule.class})
7983
@Singleton
8084
public interface Injector {
8185

@@ -103,6 +107,12 @@ public interface Injector {
103107

104108
CompleteBootstrapService completeBootstrapService();
105109

110+
GeneralBootstrapService generalBootstrapService();
111+
112+
PersistenceBootstrapService persistenceBootstrapService();
113+
114+
AfterHiveMQStartBootstrapService afterHiveMQStartBootstrapService();
115+
106116
ProtocolAdapterManager protocolAdapterManager();
107117

108118
// UnsServiceModule uns();
@@ -155,8 +165,7 @@ interface Builder {
155165
Builder commercialModuleDiscovery(CommercialModuleLoaderDiscovery commercialModuleLoaderDiscovery);
156166

157167
@BindsInstance
158-
Builder completeBootstrapService(CompleteBootstrapService completeBootstrapService);
159-
168+
Builder generalBootstrapService(GeneralBootstrapService generalBootstrapService);
160169

161170
Injector build();
162171
}

hivemq-edge/src/main/java/com/hivemq/bootstrap/services/AfterHiveMQStartBootstrapServiceImpl.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,17 @@
1414
import com.hivemq.extensions.core.RestComponentsService;
1515
import com.hivemq.protocols.ProtocolAdapterManager;
1616

17+
import javax.inject.Inject;
18+
import javax.inject.Singleton;
19+
20+
@Singleton
1721
public class AfterHiveMQStartBootstrapServiceImpl implements AfterHiveMQStartBootstrapService {
1822

1923
private final @NotNull CompleteBootstrapService delegate;
2024
private final @NotNull ProtocolAdapterManager protocolAdapterManager;
2125
private final @NotNull ModulesAndExtensionsService modulesAndExtensionsService;
2226

27+
@Inject
2328
public AfterHiveMQStartBootstrapServiceImpl(
2429
final @NotNull CompleteBootstrapService delegate,
2530
final @NotNull ProtocolAdapterManager protocolAdapterManager,

hivemq-edge/src/main/java/com/hivemq/bootstrap/services/CompleteBootstrapServiceImpl.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,18 @@
1212
import com.hivemq.extensions.core.PersistencesService;
1313
import com.hivemq.extensions.core.RestComponentsService;
1414

15+
import javax.inject.Inject;
16+
import javax.inject.Singleton;
17+
18+
@Singleton
1519
public class CompleteBootstrapServiceImpl implements CompleteBootstrapService {
1620

1721
private final @NotNull Persistences persistences;
1822
private final @NotNull RestComponentsService restComponentsService;
1923
private final @NotNull HandlerService handlerService;
2024
private final @NotNull PersistenceBootstrapService delegate;
2125

26+
@Inject
2227
public CompleteBootstrapServiceImpl(
2328
final @NotNull PersistenceBootstrapService delegate,
2429
final @NotNull Persistences persistences,

hivemq-edge/src/main/java/com/hivemq/bootstrap/services/PersistenceBootstrapServiceImpl.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,18 @@
99
import com.hivemq.extension.sdk.api.annotations.NotNull;
1010
import com.hivemq.extensions.core.PersistencesService;
1111

12+
import javax.inject.Inject;
13+
import javax.inject.Singleton;
14+
15+
@Singleton
1216
public class PersistenceBootstrapServiceImpl implements PersistenceBootstrapService {
1317

1418
private final @NotNull GeneralBootstrapService delegate;
1519
private final @NotNull PersistencesService persistencesService;
1620
private final @NotNull HiveMQCapabilityService capabilityService;
1721

18-
private PersistenceBootstrapServiceImpl(
22+
@Inject
23+
public PersistenceBootstrapServiceImpl(
1924
final @NotNull GeneralBootstrapService delegate,
2025
final @NotNull PersistencesService persistencesService,
2126
final @NotNull HiveMQCapabilityService capabilityService) {

hivemq-edge/src/main/java/com/hivemq/util/Checkpoints.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ public class Checkpoints {
4848
public static final @NotNull String CONTROL_PLANE_CONNECTION_ESTABLISHED =
4949
"control-plane-connection-established";
5050

51+
public static final @NotNull String CONTROL_PLANE_CONNECTION_HANDSHAKE_REISSUED =
52+
"control-plane-connection-handshake-reissued";
53+
5154

5255
public static boolean enabled() {
5356
return enabled;

0 commit comments

Comments
 (0)