fferpcore.MessagingRedeliveryService
global with sharing class MessagingRedeliveryService
A messaging redelivery service structure.
Methods
canRedeliver
global static List<fferpcore.MessagingRedeliveryService.CanRedeliverResult> canRedeliver(List<Id> deliveryIds)
This method is used to determine if a list of delivery IDs contains any failed deliveries.
Input Parameters
deliveryIds |
List<Id> |
All of the deliveries that are to be checked for any failures. |
Return Value
This service returns a list of MessagingRedeliveryService.CanRedeliverResult objects.
Sample Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | List<fferpcore.MessagingDelivery__c>; deliveryObjects = new List<fferpcore.MessagingDelivery__c>();
deliveryObjects.add( new fferpcore.MessagingDelivery__c(State__c = 'Successful' ));
deliveryObjects.add( new fferpcore.MessagingDelivery__c(State__c = 'Error' ));
insert deliveryObjects;
deliveryObjects = [SELECT Id FROM fferpcore.MessagingDelivery__c];
System.assertEquals( 2 , deliveryObjects.size);
List<fferpcore.MessagingRedeliveryService.CanRedeliverResult> results = fferpcore.MessagingRedeliveryService.canRedeliver( new List<Id>{deliveryObjects[ 0 ].Id, deliveryObjects[ 1 ].Id});
System.assertEquals( false , results[ 0 ].isRedeliverable());
System.assertEquals( true , results[ 1 ].isRedeliverable());
|
redeliverNow
global static fferpcore.MessagingRedeliveryService.RedeliverNowResult redeliverNow(List<Id> deliveryIds)
This method attempts to redeliver any messages for the deliveries provided to it.
Input Parameters
deliveryIds |
List<Id> |
A list of Ids for deliveries. |
Return Value
This service returns an MessagingRedeliveryService.RedeliverNowResult object.
Sample Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | List<fferpcore.MessagingDelivery__c> deliveryObjects = new List<fferpcore.MessagingDelivery__c>();
deliveryObjects.add( new fferpcore.MessagingDelivery__c(State__c = 'Successful' ));
deliveryObjects.add( new fferpcore.MessagingDelivery__c(State__c = 'Error' ));
deliveryObjects.add( new fferpcore.MessagingDelivery__c(State__c = 'Exception' ));
insert deliveryObjects;
deliveryObjects = [SELECT Id FROM fferpcore.MessagingDelivery__c];
System.assertEquals( 3 , deliveryObjects.size);
fferpcore.MessagingRedeliveryService.RedeliverNowResult results = fferpcore.MessagingRedeliveryService.redeliverNow( new List<Id>{deliveryObjects[ 0 ].Id, deliveryObjects[ 1 ].Id, deliveryObjects[ 2 ].Id});
System.assertEquals( 1 , results.getNotTriedCount());
System.assertEquals( 1 , results.getSuccessCount());
System.assertEquals( 1 , results.getErrorCount());
|
fferpcore.MessagingRedeliveryService.CanRedeliverResult
global inherited sharing class CanRedeliverResult
A can redeliver result structure. This class is a child class of MessagingRedeliveryService.
Methods
CanRedeliverResult
global CanRedeliverResult(Id deliveryId, Boolean isRedeliverable)
This constructor is used to assign a boolean value to a delivery Id to show if this delivery can be retried.
Input Parameters
deliveryId |
Id |
The Id of the associated delivery. |
isRedeliverable |
Boolean |
If the delivery can be retried or not. |
Sample Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | insert new fferpcore.MessagingDelivery__c(State__c = 'Successful' );
deliveryObjects = [SELECT Id FROM fferpcore.MessagingDelivery__c];
System.assertEquals( 1 , deliveryObjects.size);
fferpcore.MessagingRedeliveryService.CanRedeliverResult result = new fferpcore.MessagingRedeliveryService.CanRedeliverResult(deliveryObjects[ 0 ].Id, false );
System.assertEquals(deliveryObjects[ 0 ].Id, result.getDeliveryId());
System.assertEquals( false , result.isRedeliverable());
|
getDeliveryId
global Id getDeliveryId()
This method is used to return the Id of the delivery that this object is associated to.
Return Value
This service returns an Id object.
Sample Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | insert new fferpcore.MessagingDelivery__c(State__c = 'Successful' );
deliveryObjects = [SELECT Id FROM fferpcore.MessagingDelivery__c];
System.assertEquals( 1 , deliveryObjects.size);
fferpcore.MessagingRedeliveryService.CanRedeliverResult result = new fferpcore.MessagingRedeliveryService.CanRedeliverResult(deliveryObjects[ 0 ].Id, false );
System.assertEquals(deliveryObjects[ 0 ].Id, result.getDeliveryId());
System.assertEquals( false , result.isRedeliverable());
|
isRedeliverable
global Boolean isRedeliverable()
This method is used to return if the delivery that this object is associated to can be redelivered.
Return Value
This service returns a Boolean object.
Sample Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | insert new fferpcore.MessagingDelivery__c(State__c = 'Successful' );
deliveryObjects = [SELECT Id FROM fferpcore.MessagingDelivery__c];
System.assertEquals( 1 , deliveryObjects.size);
fferpcore.MessagingRedeliveryService.CanRedeliverResult result = new fferpcore.MessagingRedeliveryService.CanRedeliverResult(deliveryObjects[ 0 ].Id, false );
System.assertEquals(deliveryObjects[ 0 ].Id, result.getDeliveryId());
System.assertEquals( false , result.isRedeliverable());
|
fferpcore.MessagingRedeliveryService.RedeliverNowResult
global inherited sharing class RedeliverNowResult
A redeliver now result structure. This class is a child class of fferpcore.MessagingRedeliveryService
Methods
RedeliverNowResult
global RedeliverNowResult(Integer success, Integer errors)
This constructor is used to assign a value to the success and error variables held within this class. The system will pass a Not Tried Count using the three parameter constructor.
Input Parameters
success |
Integer |
The number of successful redeliveries. |
errors |
Integer |
The number of failed deliveries. |
Sample Code
1 2 3 4 5 6 7 8 | fferpcore.MessagingRedeliveryService.RedeliverNowResult result = new fferpcore.MessagingRedeliveryService.RedeliverNowResult( 1 , 2 );
System.assertEquals( 1 , results.getSuccessCount());
System.assertEquals( 2 , results.getErrorCount());
|
getSuccessCount
global Integer getSuccessCount()
This method returns the number of successful redeliveries.
Return Value
This service returns an Integer object.
Sample Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | List<fferpcore.MessagingDelivery__c> deliveryObjects = new List<fferpcore.MessagingDelivery__c>();
deliveryObjects.add( new fferpcore.MessagingDelivery__c(State__c = 'Successful' ));
deliveryObjects.add( new fferpcore.MessagingDelivery__c(State__c = 'Error' ));
deliveryObjects.add( new fferpcore.MessagingDelivery__c(State__c = 'Exception' ));
insert deliveryObjects;
deliveryObjects = [SELECT Id FROM fferpcore.MessagingDelivery__c];
System.assertEquals( 3 , deliveryObjects.size);
fferpcore.MessagingRedeliveryService.RedeliverNowResult results = fferpcore.MessagingRedeliveryService.redeliverNow( new List<Id>{deliveryObjects[ 0 ].Id, deliveryObjects[ 1 ].Id, deliveryObjects[ 2 ].Id});
System.assertEquals( 1 , results.getNotTriedCount());
System.assertEquals( 1 , results.getSuccessCount());
System.assertEquals( 1 , results.getErrorCount());
|
getErrorCount
global Integer getErrorCount()
This method returns the number of failed redeliveries.
Return Value
This service returns an Integer object.
Sample Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | List<fferpcore.MessagingDelivery__c> deliveryObjects = new List<fferpcore.MessagingDelivery__c>();
deliveryObjects.add( new fferpcore.MessagingDelivery__c(State__c = 'Successful' ));
deliveryObjects.add( new fferpcore.MessagingDelivery__c(State__c = 'Error' ));
deliveryObjects.add( new fferpcore.MessagingDelivery__c(State__c = 'Exception' ));
insert deliveryObjects;
deliveryObjects = [SELECT Id FROM fferpcore.MessagingDelivery__c];
System.assertEquals( 3 , deliveryObjects.size);
fferpcore.MessagingRedeliveryService.RedeliverNowResult results = fferpcore.MessagingRedeliveryService.redeliverNow( new List<Id>{deliveryObjects[ 0 ].Id, deliveryObjects[ 1 ].Id, deliveryObjects[ 2 ].Id});
System.assertEquals( 1 , results.getNotTriedCount());
System.assertEquals( 1 , results.getSuccessCount());
System.assertEquals( 1 , results.getErrorCount());
|
getNotTriedCount
global Integer getNotTriedCount()
This method returns the number of redeliveries which weren't tried.
Return Value
This service returns an Integer object.
Sample Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | List<fferpcore.MessagingDelivery__c> deliveryObjects = new List<fferpcore.MessagingDelivery__c>();
deliveryObjects.add( new fferpcore.MessagingDelivery__c(State__c = 'Successful' ));
deliveryObjects.add( new fferpcore.MessagingDelivery__c(State__c = 'Error' ));
deliveryObjects.add( new fferpcore.MessagingDelivery__c(State__c = 'Exception' ));
insert deliveryObjects;
deliveryObjects = [SELECT Id FROM fferpcore.MessagingDelivery__c];
System.assertEquals( 3 , deliveryObjects.size);
fferpcore.MessagingRedeliveryService.RedeliverNowResult results = fferpcore.MessagingRedeliveryService.redeliverNow( new List<Id>{deliveryObjects[ 0 ].Id, deliveryObjects[ 1 ].Id, deliveryObjects[ 2 ].Id});
System.assertEquals( 1 , results.getNotTriedCount());
System.assertEquals( 1 , results.getSuccessCount());
System.assertEquals( 1 , results.getErrorCount());
|
|