Skip to content

Commit 6fe86de

Browse files
authored
Remove some meaningless jms properties (Azure#32467)
1 parent c0d9bde commit 6fe86de

File tree

5 files changed

+47
-89
lines changed

5 files changed

+47
-89
lines changed

eng/code-quality-reports/src/main/resources/revapi/revapi.json

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -370,6 +370,36 @@
370370
"new": "class com\\.azure\\.messaging\\.eventhubs\\..*",
371371
"justification": "SDK classes are allowed to be exposed by dependencies using them."
372372
},
373+
{
374+
"code": "java.method.removed",
375+
"old": "method java.lang.String com.azure.spring.cloud.autoconfigure.jms.properties.AzureServiceBusJmsProperties::getPassword()",
376+
"justification": "Remove some meaningless jms properties"
377+
},
378+
{
379+
"code": "java.method.removed",
380+
"old": "method java.lang.String com.azure.spring.cloud.autoconfigure.jms.properties.AzureServiceBusJmsProperties::getRemoteUrl()",
381+
"justification": "Remove some meaningless jms properties"
382+
},
383+
{
384+
"code": "java.method.removed",
385+
"old": "method java.lang.String com.azure.spring.cloud.autoconfigure.jms.properties.AzureServiceBusJmsProperties::getUsername()",
386+
"justification": "Remove some meaningless jms properties"
387+
},
388+
{
389+
"code": "java.method.removed",
390+
"old": "method void com.azure.spring.cloud.autoconfigure.jms.properties.AzureServiceBusJmsProperties::setPassword(java.lang.String)",
391+
"justification": "Remove some meaningless jms properties"
392+
},
393+
{
394+
"code": "java.method.removed",
395+
"old": "method void com.azure.spring.cloud.autoconfigure.jms.properties.AzureServiceBusJmsProperties::setRemoteUrl(java.lang.String)",
396+
"justification": "Remove some meaningless jms properties"
397+
},
398+
{
399+
"code": "java.method.removed",
400+
"old": "method void com.azure.spring.cloud.autoconfigure.jms.properties.AzureServiceBusJmsProperties::setUsername(java.lang.String)",
401+
"justification": "Remove some meaningless jms properties"
402+
},
373403
{
374404
"regex": true,
375405
"code": "java.method.numberOfParametersChanged",

sdk/spring/CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# Release History
22

3+
## 4.6.0-beta.1 (Unreleased)
4+
5+
### Spring Cloud Azure Autoconfigure
6+
This section includes changes in `spring-cloud-azure-autoconfigure` module.
7+
8+
#### Breaking Changes
9+
- Delete properties: `spring.jms.serviebus.username`, `spring.jms.serviebus.password` and `spring.jms.serviebus.remote-uri` [#32467](https://github.com/Azure/azure-sdk-for-java/pull/32467).
10+
311
## 6.0.0-beta.4 (2022-12-07)
412
Upgrade Spring Boot dependencies version to 3.0.0-RC2 and Spring Cloud dependencies version to 2022.0.0-RC2.
513

sdk/spring/spring-cloud-azure-autoconfigure/src/main/java/com/azure/spring/cloud/autoconfigure/jms/ServiceBusJmsConnectionFactoryFactory.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
package com.azure.spring.cloud.autoconfigure.jms;
55

66
import com.azure.spring.cloud.autoconfigure.jms.properties.AzureServiceBusJmsProperties;
7+
import com.azure.spring.cloud.core.implementation.connectionstring.ServiceBusConnectionString;
78
import org.apache.qpid.jms.policy.JmsDefaultPrefetchPolicy;
89
import org.springframework.util.Assert;
910
import org.springframework.util.StringUtils;
@@ -19,6 +20,8 @@ public class ServiceBusJmsConnectionFactoryFactory {
1920
private final AzureServiceBusJmsProperties properties;
2021
private final List<ServiceBusJmsConnectionFactoryCustomizer> factoryCustomizers;
2122

23+
private static final String AMQP_URI_FORMAT = "amqps://%s?amqp.idleTimeout=%d";
24+
2225
ServiceBusJmsConnectionFactoryFactory(AzureServiceBusJmsProperties properties,
2326
List<ServiceBusJmsConnectionFactoryCustomizer> factoryCustomizers) {
2427
Assert.notNull(properties, "Properties must not be null");
@@ -54,9 +57,12 @@ private <T extends ServiceBusJmsConnectionFactory> void setPrefetchPolicy(T fact
5457
private <T extends ServiceBusJmsConnectionFactory> T createConnectionFactoryInstance(Class<T> factoryClass) {
5558
try {
5659
T factory;
57-
String remoteUrl = this.properties.getRemoteUrl();
58-
String username = this.properties.getUsername();
59-
String password = this.properties.getPassword();
60+
ServiceBusConnectionString serviceBusConnectionString = new ServiceBusConnectionString(properties.getConnectionString());
61+
String host = serviceBusConnectionString.getEndpointUri().getHost();
62+
63+
String remoteUrl = String.format(AMQP_URI_FORMAT, host, properties.getIdleTimeout().toMillis());
64+
String username = serviceBusConnectionString.getSharedAccessKeyName();
65+
String password = serviceBusConnectionString.getSharedAccessKey();
6066

6167
if (StringUtils.hasLength(username) && StringUtils.hasLength(password)) {
6268
factory = factoryClass.getConstructor(String.class, String.class, String.class)

sdk/spring/spring-cloud-azure-autoconfigure/src/main/java/com/azure/spring/cloud/autoconfigure/jms/properties/AzureServiceBusJmsProperties.java

Lines changed: 0 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33

44
package com.azure.spring.cloud.autoconfigure.jms.properties;
55

6-
import com.azure.spring.cloud.core.implementation.connectionstring.ServiceBusConnectionString;
76
import org.springframework.beans.factory.InitializingBean;
87
import org.springframework.boot.autoconfigure.jms.JmsPoolConnectionFactoryProperties;
98
import org.springframework.boot.context.properties.ConfigurationProperties;
@@ -29,9 +28,6 @@ public class AzureServiceBusJmsProperties implements InitializingBean {
2928
*/
3029
private boolean enabled = true;
3130

32-
private static final String DEFAULT_REMOTE_URL = "amqp://localhost:5672";
33-
34-
private static final String AMQP_URI_FORMAT = "amqps://%s?amqp.idleTimeout=%d";
3531
/**
3632
* Connection string to connect to a Service Bus namespace.
3733
*/
@@ -56,21 +52,6 @@ public class AzureServiceBusJmsProperties implements InitializingBean {
5652
@NestedConfigurationProperty
5753
private final JmsPoolConnectionFactoryProperties pool = new JmsPoolConnectionFactoryProperties();
5854

59-
/**
60-
* URL of the AMQP broker. Auto-generated by default.
61-
*/
62-
private String remoteUrl = DEFAULT_REMOTE_URL;
63-
64-
/**
65-
* Login user of the AMQP broker.
66-
*/
67-
private String username;
68-
69-
/**
70-
* Login password of the AMQP broker.
71-
*/
72-
private String password;
73-
7455
/**
7556
* Whether to enable Service Bus JMS autoconfiguration.
7657
* @return Whether to enable Service Bus autoconfiguration
@@ -87,54 +68,6 @@ public void setEnabled(boolean enabled) {
8768
this.enabled = enabled;
8869
}
8970

90-
/**
91-
* Get the URL of the AMQP broker.
92-
* @return the URL of the AMQP broker.
93-
*/
94-
public String getRemoteUrl() {
95-
return remoteUrl;
96-
}
97-
98-
/**
99-
* Set the URL of the AMQP broker.
100-
* @param remoteUrl the URL of the AMQP broker.
101-
*/
102-
public void setRemoteUrl(String remoteUrl) {
103-
this.remoteUrl = remoteUrl;
104-
}
105-
106-
/**
107-
* Get the login user of the AMQP broker.
108-
* @return the login user of the AMQP broker.
109-
*/
110-
public String getUsername() {
111-
return username;
112-
}
113-
114-
/**
115-
* Set the login user of the AMQP broker.
116-
* @param username the login user of the AMQP broker.
117-
*/
118-
public void setUsername(String username) {
119-
this.username = username;
120-
}
121-
122-
/**
123-
* Get the login password of the AMQP broker.
124-
* @return the login password of the AMQP broker.
125-
*/
126-
public String getPassword() {
127-
return password;
128-
}
129-
130-
/**
131-
* Set the login password of the AMQP broker.
132-
* @param password the login password of the AMQP broker.
133-
*/
134-
public void setPassword(String password) {
135-
this.password = password;
136-
}
137-
13871
/**
13972
* The properties for a pooled connection factory.
14073
* @return the properties for a pooled connection factory.
@@ -237,13 +170,6 @@ public void afterPropertiesSet() throws Exception {
237170
if (null == pricingTier || !pricingTier.matches("(?i)premium|standard|basic")) {
238171
throw new IllegalArgumentException("'spring.jms.servicebus.pricing-tier' is not valid");
239172
}
240-
241-
ServiceBusConnectionString serviceBusConnectionString = new ServiceBusConnectionString(connectionString);
242-
String host = serviceBusConnectionString.getEndpointUri().getHost();
243-
244-
this.remoteUrl = String.format(AMQP_URI_FORMAT, host, idleTimeout.toMillis());
245-
this.username = serviceBusConnectionString.getSharedAccessKeyName();
246-
this.password = serviceBusConnectionString.getSharedAccessKey();
247173
}
248174

249175
/**

sdk/spring/spring-cloud-azure-autoconfigure/src/test/java/com/azure/spring/cloud/autoconfigure/jms/AzureServiceBusJmsPropertiesTests.java

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import org.junit.jupiter.params.provider.NullAndEmptySource;
1010
import org.junit.jupiter.params.provider.ValueSource;
1111

12-
import static org.assertj.core.api.Assertions.assertThat;
1312
import static org.junit.jupiter.api.Assertions.assertThrows;
1413
import static org.junit.jupiter.api.Assertions.assertTrue;
1514

@@ -45,15 +44,4 @@ void pricingTierNotValid(String pricingTier) {
4544
assertTrue(actualMessage.contains(expectedMessage));
4645
}
4746

48-
@ParameterizedTest
49-
@ValueSource(strings = { "basic", "standard", "premium" })
50-
void setConnectionStringFormatCorrect(String pricingTier) throws Exception {
51-
AzureServiceBusJmsProperties prop = new AzureServiceBusJmsProperties();
52-
prop.setConnectionString(CONNECTION_STRING);
53-
prop.setPricingTier(pricingTier);
54-
prop.afterPropertiesSet();
55-
assertThat(prop.getUsername()).isEqualTo("sasKeyName");
56-
assertThat(prop.getPassword()).isEqualTo("sasKey");
57-
assertThat(prop.getRemoteUrl()).isEqualTo("amqps://host?amqp.idleTimeout=1800000");
58-
}
5947
}

0 commit comments

Comments
 (0)