aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/traccar/Context.java2
-rw-r--r--src/main/java/org/traccar/config/Keys.java8
-rw-r--r--src/main/java/org/traccar/sms/SnsSmsClient.java23
3 files changed, 13 insertions, 20 deletions
diff --git a/src/main/java/org/traccar/Context.java b/src/main/java/org/traccar/Context.java
index 40340b1f0..934006347 100644
--- a/src/main/java/org/traccar/Context.java
+++ b/src/main/java/org/traccar/Context.java
@@ -318,7 +318,7 @@ public final class Context {
if (config.hasKey(Keys.SMS_HTTP_URL)) {
smsManager = new HttpSmsClient();
- } else if (config.hasKey(Keys.AWS_SNS_ENABLED)) {
+ } else if (config.hasKey(Keys.AWS_REGION)) {
smsManager = new SnsSmsClient();
}
diff --git a/src/main/java/org/traccar/config/Keys.java b/src/main/java/org/traccar/config/Keys.java
index ac105b99c..c3dce88c4 100644
--- a/src/main/java/org/traccar/config/Keys.java
+++ b/src/main/java/org/traccar/config/Keys.java
@@ -702,14 +702,6 @@ public final class Keys {
Collections.singletonList(KeyType.GLOBAL));
/**
- * SNS Enable switch.
- * Use 'enable' to send message with SNS or 'disable' to stop using SNS
- */
- public static final ConfigKey<String> AWS_SNS_ENABLED = new ConfigKey<>(
- "sms.sns.enabled",
- Collections.singletonList(KeyType.GLOBAL));
-
- /**
* AWS Region for SNS service.
* Make sure to use regions that are supported for messaging.
*/
diff --git a/src/main/java/org/traccar/sms/SnsSmsClient.java b/src/main/java/org/traccar/sms/SnsSmsClient.java
index d79079f7a..81114e5f5 100644
--- a/src/main/java/org/traccar/sms/SnsSmsClient.java
+++ b/src/main/java/org/traccar/sms/SnsSmsClient.java
@@ -37,10 +37,9 @@ public class SnsSmsClient implements SmsManager {
private final AmazonSNS snsClient;
public SnsSmsClient() {
- if (!Context.getConfig().getString(Keys.AWS_SNS_ENABLED).equals("true")
+ if (Context.getConfig().getString(Keys.AWS_REGION) == null
|| Context.getConfig().getString(Keys.AWS_ACCESS_KEY) == null
- || Context.getConfig().getString(Keys.AWS_SECRET_KEY) == null
- || Context.getConfig().getString(Keys.AWS_REGION) == null) {
+ || Context.getConfig().getString(Keys.AWS_SECRET_KEY) == null) {
throw new RuntimeException("SNS Not Configured Properly. Please provide valid config.");
}
snsClient = awsSNSClient();
@@ -53,7 +52,9 @@ public class SnsSmsClient implements SmsManager {
.withCredentials(new AWSStaticCredentialsProvider(awsCredentials)).build();
}
- public void sendSNSMessage(String message, String destAddress) {
+ @Override
+ public void sendMessageSync(String destAddress, String message, boolean command)
+ throws InterruptedException, MessageException {
Map<String, MessageAttributeValue> smsAttributes = new HashMap<>();
smsAttributes.put("AWS.SNS.SMS.SenderID",
new MessageAttributeValue().withStringValue("SNS").withDataType("String"));
@@ -64,13 +65,13 @@ public class SnsSmsClient implements SmsManager {
}
@Override
- public void sendMessageSync(String destAddress, String message, boolean command)
- throws InterruptedException, MessageException {
- sendSNSMessage(message, destAddress);
- }
-
- @Override
public void sendMessageAsync(String destAddress, String message, boolean command) {
- sendSNSMessage(message, destAddress);
+ try {
+ sendMessageSync(destAddress, message, command);
+ } catch (InterruptedException interruptedException) {
+ LOGGER.warn("SMS send failed", interruptedException.getMessage());
+ } catch (MessageException messageException) {
+ LOGGER.warn("SMS send failed", messageException.getMessage());
+ }
}
}