Skip to content

Commit 7490434

Browse files
authored
Remove all global state from setProperty (dapr#1138)
* Remove all global state in from setProperty Signed-off-by: Artur Souza <[email protected]> * use Map.of Signed-off-by: Artur Souza <[email protected]> * Remove dependency that is not needed. Signed-off-by: Artur Souza <[email protected]> --------- Signed-off-by: Artur Souza <[email protected]>
1 parent cedaebc commit 7490434

File tree

52 files changed

+284
-299
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+284
-299
lines changed

.github/workflows/build.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ jobs:
3838
GOARCH: amd64
3939
GOPROXY: https://proxy.golang.org
4040
JDK_VER: ${{ matrix.java }}
41-
DAPR_CLI_VER: 1.14.0-rc.6
42-
DAPR_RUNTIME_VER: 1.14.0-rc.6
43-
DAPR_INSTALL_URL: https://raw.githubusercontent.com/dapr/cli/v1.14.0-rc.4/install/install.sh
41+
DAPR_CLI_VER: 1.14.0
42+
DAPR_RUNTIME_VER: 1.14.4
43+
DAPR_INSTALL_URL: https://raw.githubusercontent.com/dapr/cli/v1.14.0/install/install.sh
4444
DAPR_CLI_REF:
4545
DAPR_REF:
4646
TOXIPROXY_URL: https://github.com/Shopify/toxiproxy/releases/download/v2.5.0/toxiproxy-server-linux-amd64

.github/workflows/validate.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,9 @@ jobs:
3737
GOARCH: amd64
3838
GOPROXY: https://proxy.golang.org
3939
JDK_VER: ${{ matrix.java }}
40-
DAPR_CLI_VER: 1.14.0-rc.6
41-
DAPR_RUNTIME_VER: 1.14.0-rc.6
42-
DAPR_INSTALL_URL: https://raw.githubusercontent.com/dapr/cli/v1.14.0-rc.3/install/install.sh
40+
DAPR_CLI_VER: 1.14.0
41+
DAPR_RUNTIME_VER: 1.14.4
42+
DAPR_INSTALL_URL: https://raw.githubusercontent.com/dapr/cli/v1.14.0/install/install.sh
4343
DAPR_CLI_REF:
4444
DAPR_REF:
4545
steps:

dapr-spring/dapr-spring-boot-autoconfigure/src/main/java/io/dapr/spring/boot/autoconfigure/client/DaprClientAutoConfiguration.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,18 @@ DaprConnectionDetails daprConnectionDetails(DaprClientProperties properties) {
3737
@ConditionalOnMissingBean
3838
DaprClientBuilder daprClientBuilder(DaprConnectionDetails daprConnectionDetails) {
3939
DaprClientBuilder builder = new DaprClientBuilder();
40-
builder.withPropertyOverride(Properties.HTTP_ENDPOINT, daprConnectionDetails.httpEndpoint());
41-
builder.withPropertyOverride(Properties.GRPC_ENDPOINT, daprConnectionDetails.grpcEndpoint());
42-
builder.withPropertyOverride(Properties.HTTP_PORT, String.valueOf(daprConnectionDetails.httpPort()));
43-
builder.withPropertyOverride(Properties.GRPC_PORT, String.valueOf(daprConnectionDetails.grpcPort()));
40+
if (daprConnectionDetails.httpEndpoint() != null) {
41+
builder.withPropertyOverride(Properties.HTTP_ENDPOINT, daprConnectionDetails.httpEndpoint());
42+
}
43+
if (daprConnectionDetails.grpcEndpoint() != null) {
44+
builder.withPropertyOverride(Properties.GRPC_ENDPOINT, daprConnectionDetails.grpcEndpoint());
45+
}
46+
if (daprConnectionDetails.httpPort() != null) {
47+
builder.withPropertyOverride(Properties.HTTP_PORT, String.valueOf(daprConnectionDetails.httpPort()));
48+
}
49+
if (daprConnectionDetails.grpcPort() != null) {
50+
builder.withPropertyOverride(Properties.GRPC_PORT, String.valueOf(daprConnectionDetails.grpcPort()));
51+
}
4452
return builder;
4553
}
4654

dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/AbstractDaprKeyValueAdapter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
import java.util.Map;
2828

2929
public abstract class AbstractDaprKeyValueAdapter implements KeyValueAdapter {
30-
private static final Map<String, String> CONTENT_TYPE_META = Collections.singletonMap(
30+
private static final Map<String, String> CONTENT_TYPE_META = Map.of(
3131
"contentType", "application/json");
3232

3333
private final DaprClient daprClient;

dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/MySQLDaprKeyValueAdapter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,13 +164,13 @@ private String createSql(String sqlPattern, String keyspace, Object criteria) {
164164
}
165165

166166
private void execUsingBinding(String sql) {
167-
Map<String, String> meta = Collections.singletonMap("sql", sql);
167+
Map<String, String> meta = Map.of("sql", sql);
168168

169169
daprClient.invokeBinding(bindingName, "exec", null, meta).block();
170170
}
171171

172172
private <T> T queryUsingBinding(String sql, TypeRef<T> typeRef) {
173-
Map<String, String> meta = Collections.singletonMap("sql", sql);
173+
Map<String, String> meta = Map.of("sql", sql);
174174

175175
return daprClient.invokeBinding(bindingName, "query", null, meta, typeRef).block();
176176
}

dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/PostgreSQLDaprKeyValueAdapter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,13 +172,13 @@ private String createSql(String sqlPattern, String keyspace, Object criteria) {
172172
}
173173

174174
private void execUsingBinding(String sql) {
175-
Map<String, String> meta = Collections.singletonMap("sql", sql);
175+
Map<String, String> meta = Map.of("sql", sql);
176176

177177
daprClient.invokeBinding(bindingName, "exec", null, meta).block();
178178
}
179179

180180
private <T> T queryUsingBinding(String sql, TypeRef<T> typeRef) {
181-
Map<String, String> meta = Collections.singletonMap("sql", sql);
181+
Map<String, String> meta = Map.of("sql", sql);
182182

183183
return daprClient.invokeBinding(bindingName, "query", null, meta, typeRef).block();
184184
}

dapr-spring/dapr-spring-messaging/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@
1212
<artifactId>dapr-spring-messaging</artifactId>
1313
<name>dapr-spring-messaging</name>
1414
<description>Dapr Spring Messaging</description>
15-
<packaging>jar</packaging>
15+
<packaging>jar</packaging>
1616

1717
</project>

dapr-spring/dapr-spring-messaging/src/main/java/io/dapr/spring/messaging/DaprMessagingTemplate.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
import io.dapr.client.domain.Metadata;
1818
import reactor.core.publisher.Mono;
1919

20-
import java.util.Collections;
20+
import java.util.Map;
2121

2222
public class DaprMessagingTemplate<T> implements DaprMessagingOperations<T> {
2323

@@ -49,7 +49,7 @@ private Mono<Void> doSendAsync(String topic, T message) {
4949
return daprClient.publishEvent(pubsubName,
5050
topic,
5151
message,
52-
Collections.singletonMap(Metadata.TTL_IN_SECONDS, MESSAGE_TTL_IN_SECONDS));
52+
Map.of(Metadata.TTL_IN_SECONDS, MESSAGE_TTL_IN_SECONDS));
5353
}
5454

5555
private static class SendMessageBuilderImpl<T> implements SendMessageBuilder<T> {

examples/src/main/java/io/dapr/examples/pubsub/CloudEventPublisher.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import io.dapr.client.domain.Metadata;
2020
import io.dapr.client.domain.PublishEventRequest;
2121

22+
import java.util.Map;
2223
import java.util.UUID;
2324

2425
import static java.util.Collections.singletonMap;
@@ -66,7 +67,7 @@ public static void main(String[] args) throws Exception {
6667
client.publishEvent(
6768
new PublishEventRequest(PUBSUB_NAME, TOPIC_NAME, cloudEvent)
6869
.setContentType(CloudEvent.CONTENT_TYPE)
69-
.setMetadata(singletonMap(Metadata.TTL_IN_SECONDS, MESSAGE_TTL_IN_SECONDS))).block();
70+
.setMetadata(Map.of(Metadata.TTL_IN_SECONDS, MESSAGE_TTL_IN_SECONDS))).block();
7071
System.out.println("Published cloud event with message: " + cloudEvent.getData());
7172

7273
try {

sdk-actors/src/main/java/io/dapr/actors/client/ActorClient.java

Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,13 @@
2020
import io.grpc.Channel;
2121
import io.grpc.ManagedChannel;
2222
import io.grpc.ManagedChannelBuilder;
23-
import org.slf4j.Logger;
24-
import org.slf4j.LoggerFactory;
2523
import reactor.core.publisher.Mono;
2624

2725
/**
2826
* Holds a client for Dapr sidecar communication. ActorClient should be reused.
2927
*/
3028
public class ActorClient implements AutoCloseable {
3129

32-
private static final Logger LOGGER = LoggerFactory.getLogger(ActorClient.class);
33-
3430
/**
3531
* gRPC channel for communication with Dapr sidecar.
3632
*/
@@ -45,16 +41,35 @@ public class ActorClient implements AutoCloseable {
4541
* Instantiates a new channel for Dapr sidecar communication.
4642
*/
4743
public ActorClient() {
48-
this(null);
44+
this(new Properties(), null);
4945
}
5046

5147
/**
5248
* Instantiates a new channel for Dapr sidecar communication.
5349
*
5450
* @param resiliencyOptions Client resiliency options.
5551
*/
56-
private ActorClient(ResiliencyOptions resiliencyOptions) {
57-
this(buildManagedChannel(), resiliencyOptions);
52+
public ActorClient(ResiliencyOptions resiliencyOptions) {
53+
this(new Properties(), resiliencyOptions);
54+
}
55+
56+
/**
57+
* Instantiates a new channel for Dapr sidecar communication.
58+
*
59+
* @param overrideProperties Override properties.
60+
*/
61+
public ActorClient(Properties overrideProperties) {
62+
this(buildManagedChannel(overrideProperties), null);
63+
}
64+
65+
/**
66+
* Instantiates a new channel for Dapr sidecar communication.
67+
*
68+
* @param overrideProperties Override properties.
69+
* @param resiliencyOptions Client resiliency options.
70+
*/
71+
public ActorClient(Properties overrideProperties, ResiliencyOptions resiliencyOptions) {
72+
this(buildManagedChannel(overrideProperties), resiliencyOptions);
5873
}
5974

6075
/**
@@ -96,15 +111,18 @@ public void close() {
96111
/**
97112
* Creates a GRPC managed channel (or null, if not applicable).
98113
*
114+
* @param overrideProperties Overrides
99115
* @return GRPC managed channel or null.
100116
*/
101-
private static ManagedChannel buildManagedChannel() {
102-
int port = Properties.GRPC_PORT.get();
117+
private static ManagedChannel buildManagedChannel(Properties overrideProperties) {
118+
int port = overrideProperties.getValue(Properties.GRPC_PORT);
103119
if (port <= 0) {
104120
throw new IllegalArgumentException("Invalid port.");
105121
}
106122

107-
return ManagedChannelBuilder.forAddress(Properties.SIDECAR_IP.get(), port)
123+
var sidecarHost = overrideProperties.getValue(Properties.SIDECAR_IP);
124+
125+
return ManagedChannelBuilder.forAddress(sidecarHost, port)
108126
.usePlaintext()
109127
.userAgent(Version.getSdkVersion())
110128
.build();

sdk-tests/src/test/java/io/dapr/it/BaseIT.java

Lines changed: 10 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
import io.dapr.actors.client.ActorClient;
1717
import io.dapr.client.resiliency.ResiliencyOptions;
18+
import io.dapr.config.Properties;
1819
import org.apache.commons.lang3.tuple.ImmutablePair;
1920
import org.junit.jupiter.api.AfterAll;
2021

@@ -46,7 +47,7 @@ protected static DaprRun startDaprApp(
4647
Class serviceClass,
4748
Boolean useAppPort,
4849
int maxWaitMilliseconds) throws Exception {
49-
return startDaprApp(testName, successMessage, serviceClass, useAppPort, maxWaitMilliseconds, GRPC);
50+
return startDaprApp(testName, successMessage, serviceClass, useAppPort, maxWaitMilliseconds, HTTP);
5051
}
5152

5253
protected static DaprRun startDaprApp(
@@ -55,7 +56,7 @@ protected static DaprRun startDaprApp(
5556
Class serviceClass,
5657
AppRun.AppProtocol appProtocol,
5758
int maxWaitMilliseconds) throws Exception {
58-
return startDaprApp(testName, successMessage, serviceClass, true, maxWaitMilliseconds, GRPC, appProtocol);
59+
return startDaprApp(testName, successMessage, serviceClass, true, maxWaitMilliseconds, appProtocol);
5960
}
6061

6162
protected static DaprRun startDaprApp(
@@ -64,25 +65,6 @@ protected static DaprRun startDaprApp(
6465
Class serviceClass,
6566
Boolean useAppPort,
6667
int maxWaitMilliseconds,
67-
AppRun.AppProtocol protocol) throws Exception {
68-
return startDaprApp(
69-
testName,
70-
successMessage,
71-
serviceClass,
72-
useAppPort,
73-
true,
74-
maxWaitMilliseconds,
75-
protocol,
76-
HTTP);
77-
}
78-
79-
protected static DaprRun startDaprApp(
80-
String testName,
81-
String successMessage,
82-
Class serviceClass,
83-
Boolean useAppPort,
84-
int maxWaitMilliseconds,
85-
AppRun.AppProtocol protocol,
8668
AppRun.AppProtocol appProtocol) throws Exception {
8769
return startDaprApp(
8870
testName,
@@ -91,7 +73,6 @@ protected static DaprRun startDaprApp(
9173
useAppPort,
9274
true,
9375
maxWaitMilliseconds,
94-
protocol,
9576
appProtocol);
9677
}
9778

@@ -105,7 +86,6 @@ protected static DaprRun startDaprApp(
10586
false,
10687
true,
10788
maxWaitMilliseconds,
108-
GRPC,
10989
HTTP);
11090
}
11191

@@ -116,7 +96,6 @@ protected static DaprRun startDaprApp(
11696
Boolean useAppPort,
11797
Boolean useDaprPorts,
11898
int maxWaitMilliseconds,
119-
AppRun.AppProtocol protocol,
12099
AppRun.AppProtocol appProtocol) throws Exception {
121100
DaprRun.Builder builder = new DaprRun.Builder(
122101
testName,
@@ -128,7 +107,6 @@ protected static DaprRun startDaprApp(
128107
TO_BE_STOPPED.add(run);
129108
DAPR_RUN_BUILDERS.put(run.getAppName(), builder);
130109
run.start();
131-
run.use();
132110
return run;
133111
}
134112

@@ -138,24 +116,12 @@ protected static ImmutablePair<AppRun, DaprRun> startSplitDaprAndApp(
138116
Class serviceClass,
139117
Boolean useAppPort,
140118
int maxWaitMilliseconds) throws Exception {
141-
return startSplitDaprAndApp(
142-
testName, successMessage, serviceClass, useAppPort, maxWaitMilliseconds, AppRun.AppProtocol.GRPC);
143-
}
144-
145-
protected static ImmutablePair<AppRun, DaprRun> startSplitDaprAndApp(
146-
String testName,
147-
String successMessage,
148-
Class serviceClass,
149-
Boolean useAppPort,
150-
int maxWaitMilliseconds,
151-
AppRun.AppProtocol protocol) throws Exception {
152119
return startSplitDaprAndApp(
153120
testName,
154121
successMessage,
155122
serviceClass,
156123
useAppPort,
157124
maxWaitMilliseconds,
158-
protocol,
159125
HTTP);
160126
}
161127

@@ -165,7 +131,6 @@ protected static ImmutablePair<AppRun, DaprRun> startSplitDaprAndApp(
165131
Class serviceClass,
166132
Boolean useAppPort,
167133
int maxWaitMilliseconds,
168-
AppRun.AppProtocol protocol,
169134
AppRun.AppProtocol appProtocol) throws Exception {
170135
DaprRun.Builder builder = new DaprRun.Builder(
171136
testName,
@@ -179,10 +144,14 @@ protected static ImmutablePair<AppRun, DaprRun> startSplitDaprAndApp(
179144
DAPR_RUN_BUILDERS.put(runs.right.getAppName(), builder);
180145
runs.left.start();
181146
runs.right.start();
182-
runs.right.use();
183147
return runs;
184148
}
185149

150+
protected static <T extends AutoCloseable> T deferClose(T object) {
151+
TO_BE_CLOSED.add(object);
152+
return object;
153+
}
154+
186155
@AfterAll
187156
public static void cleanUp() throws Exception {
188157
while (!TO_BE_CLOSED.isEmpty()) {
@@ -194,8 +163,8 @@ public static void cleanUp() throws Exception {
194163
}
195164
}
196165

197-
protected static ActorClient newActorClient() {
198-
return newActorClient(null);
166+
protected static ActorClient newActorClient(Properties properties) {
167+
return new ActorClient(properties, null);
199168
}
200169

201170
protected static ActorClient newActorClient(ResiliencyOptions resiliencyOptions) throws RuntimeException {

0 commit comments

Comments
 (0)