Skip to content

AtFutureRecipes

pozil edited this page Oct 11, 2021 · 13 revisions

layout: default

AtFutureRecipes class

Demonstrates the @future syntax and usage


Properties

testCircuitBreakerBoolean

This class features a 'circuit breaker' variable. While this is not a pattern I routinely turn to, it is a valuable pattern for testing code that is otherwise hard to test. For instance, @future methods must be static void methods. This makes it hard to assert against return values. The idea behind this pattern is set a private static class variable to true, only when irreversible conditions or actions have occurred. The circuit breaker 'breaks', giving you something you can assert on. Again this isn't a pattern I often turn to, but it can be valuable in certain circumstances.


Methods

atFutureMethodWithCalloutPrivileges(String url)void

Method demonstrates how an @future anotated method can make an HTTP Callout. This method also demonstrates the necessary steps to make an HTTP callout without the RestClient abstraction layer. The RestClient class can be found in the 'Shared Code' group

Parameters

Param Description
url The URL to make a callout to.

Example

AtFutureRecipes.atFutureMethodWithCalloutPrivileges('google.com');

atFutureMethodWithoutCalloutPrivileges(String data)void

Method demonstrates the @future annotation without the (callout=true) adendum. This method will be run in a different Apex transaction than the calling code.

Parameters

Param Description
data String to be logged

Example

AtFutureRecipes.atFutureMethodWithoutCalloutPrivileges('Some Data');

Clone this wiki locally