Mule 4 Self-assessment Quiz
Mule default error handler
A scope with an error handler throws an error but does not meet any of its conditions but it meets a condition in the application default handler, where is the error object routed?
Application default error handler
A scope without an error handler throws an error and meets a condition in the application default handler, where is the error object routed?
Mule default error handler
A scope without an error handler throws an error but does not meet any condition in the application default handler, where is the error object routed?
1. In the Transform message component using the resource attribute: <ee:transform><ee:message> <ee:set-payload resource="transform.dwl"/> </ee:transform> </ee:message> 2. In an element that has an expression property (e.g. Choice router): ${file::filename}
A single script can be stored in an external DWL and referenced with these two options
16
A threading profile of __ threads per job is used Each thread has a block of 100 records
File (local) FTP FTPS SFTP
Four connectors for working with files and folders
Transform the input to application/dw. If the transformation is successful, the error is most likely a formatting error.
Debugging in DataWeave
The last function in the chain is executed first e.g. flights orderBy $.price filter ($.availableSeats > 30) 1. filter 2. orderBy
Sequence of executing a series of functions
Application default error handler
User-defined custom handling of errors of scopes with no error handling
All processing of the batch job stops
A Batch Job scope has three batch steps. An event processor in the second batch step throws an error because the input data is incomplete. What is the default behaviour of the batch job after the error is thrown? Event processing continues to the third batch step All processing of the batch job stops The second batch step is retried The first batch step is retried
Java
A Database connector is configured to select rows from a MySQL database. What is the format of the array of results returned from the database query? Java JSON XML CSV
The payload is the original JSON object
A Flow Reference component sends a non-empty JSON object payload to another flow named childFlow, which then returns an XML body. A Flow Reference component saves the payload returned from childFlow to its target attribute named payload. Refer to the exhibit. What is true about the Mule event's payload at the next event processor after the Flow Reference component? The payload is the XML response body The payload is a non-empty Java object The payload is the original JSON object The payload is null
Private Flow
A Mule Flow component without a Source component
The variable is NOT accessible in the server
A Mule application has a flow named parentFlow. The parentFlow contains an HTTP Request operation at the end of the flow. The parentFlow also contains a Set Variable operation right before the HTTP Request operation. What is the scope of the variable to the server receiving the HTTP Request from parentFlow? The variable is accessible in the server but is immutable The variable is accessible in the server, can be changed, and changes are seen back in parentFlow The variable is NOT accessible in the server The variable is accessible in the server, can be changed, but changes are NOT seen back in parentFlow
#[ lookup( "combineNames", vars.fullName ) ]
A Mule application has a main flow and a combineNames flow. In the main flow, a variable named fullName is set to the object {firstName: "Max", lastName: "Mule"}. What is valid DataWeave code to call the combineNames flow with the input object stored in the fullName variable? #[ dw::Flow::lookup( "combineNames", vars.fullName ) ] #[ dw::Runtime::lookup( "combineNames", vars.fullName ) ] #[ lookup( "combineNames", vars.fullName ) ] #[ combineNames( vars.fullName ) ] #[ lookup( combineNames( vars.fullName ) ) ]
The variable is accessible in childFlow, can be changed, and changes are seen back in parentFlow
A Mule application has two flows named parentFlow and childFlow. A variable is defined in parentFlow. What is the scope of the variable when the parentFlow calls childFlow using a Flow Reference? The variable is accessible in childFlow but is immutable The variable is accessible in childFlow, can be changed, and changes are seen back in parentFlow The variable is NOT accessible in childFlow The variable is accessible in childFlow, can be changed, but changes are NOT seen back in parentFlow
The variable is accessible. All the attributes passed to childFlow are removed or replaced.
A Mule application has two flows named parentFlow and childFlow. The childFlow begins with an HTTP Listener. A variable is defined in parentFlow, then an HTTP Request is made to childFlow's HTTP Listener with some headers set. What is the scope of the variable and attributes in the parentFlow after childFlow returns a response? The variable is accessible. All the attributes passed to childFlow are removed or replaced. The variable is NOT accessible. All the attributes passed to childFlow are removed or replaced. The variable is NOT accessible. All the attributes passed to childFlow are preserved. The variable is accessible. All the attributes passed to childFlow are preserved.
examples: !include examples/BankAccountsExample.raml
A RAML example fragment named BankAccountsExample.raml is placed in the examples folder in an API specification project. What is the correct syntax to reference the fragment? examples: !include BankAccountsExample.raml examples: #import BankAccountsExample.raml examples: !include examples/BankAccountsExample.raml examples: #import examples/BankAccountsExample.raml
An Object containing all three Mule event Objects
A Scatter-Gather processes three separate HTTP requests. Each request returns a Mule event with a JSON payload. What is the final output of the Scatter-Gather? An Object containing all three Mule event Objects An Array of the three JSON payload Objects An Array of the three Mule event Objects An Object containing all three JSON payload Objects The last JSON payload Object The last Mule event Object
#[vars.images]
A Set Variable component saves the current payload to a variable with the name images. What is the DataWeave expression to access the images variable? #[payload.images] #[images] #[flowVars.images] #[vars.images]
1.a. Try scope's On Error Continue executed 1.b. Try scope's subsequent steps are NOT executed 2. Parent's subsequent steps are executed 3. Successful response is returned
A Try scope encounters an error, both the Try scope and parent flow have an On Error Continue scope, what is the behaviour?
1.a. Try scope's On Error Propagate executed 1.b. Try scope's subsequent steps are NOT executed 2.a. Parent flow's On Error Propagate executed 2.b. Parent's subsequent steps are NOT executed 3. Error response is returned
A Try scope encounters an error, both the Try scope and parent flow have an On Error Propagate scope, what is the behaviour?
1.a. Try scope's On Error Continue executed 1.b. Try scope's subsequent steps are NOT executed 2.a. Parent flow's On Error Propagate is skipped 2.b. Parent's subsequent steps are executed 3. Successful response is returned
A Try scope encounters an error, the Try scope has an On Error Continue scope, the parent flow has an On Error Propagate scope, what is the behaviour?
1.a. Try scope's On Error Propagate executed 1.b. Try scope's subsequent steps are NOT executed 2.a. Parent flow's On Error Continue executed 2.b. Parent's subsequent steps are NOT executed 3. Successful response is returned
A Try scope encounters an error, the Try scope has an On Error Propagate scope, the parent flow has an On Error Continue scope, what is the behaviour?
#[error.description]
A description regarding the error problem
Transform Message
A flow calls a SOAP endpoint using the Consume operation of the Web Service Consumer. The SOAP service has a required input parameter. What event processor can be used to build the SOAP envelope with the required argument to pass to the SOAP service? Set Property Build SOAP Transform Message JSON to XML Set Attachment
#["Content-Type: " ++ attributes.headers.'content-type']
A flow contains an HTTP Listener as the event source. What is the DataWeave expression to log the Content-Type header using a Logger component? #["Content-Type: " ++ attributes.headers.'content-type'] #["Content-Type: " + headers.'content-type'] #["Content-Type: " + attributes.headers.'content-type'] #["Content-Type: " ++ headers.'content-type']
Publish consume: Synchronous. Publish: Asynchronous
A flow has a JMS Publish consume operation followed by a JMS Publish operation. Both of these operations have the default configurations. Which operation is asynchronous (does not wait for a response before continuing to the next event processor) and which operation is synchronous (blocks and waits for a response or timeout before continuing to the next event processor)? Publish consume: Asynchronous. Publish: Synchronous Publish consume: Asynchronous. Publish: Asynchronous Publish consume: Synchronous. Publish: Asynchronous Publish consume: Synchronous. Publish: Synchronous
Mule default error handler
A scope with an error handler throws an error but does not meet any of its conditions as well as in the application default handler, where is the error object routed?
#[error.errorType]
A type used to characterize the error problem and allow routing within an error handler
Attributes
A web client submits a GET request to a Mule 4 application to the endpoint /customers?id=48493. Where is the id stored in the Mule event by the HTTP Listener? Inbound Properties Variables Attributes Payload
#[attributes.uriParams.state]
A web service implements an API to handle requests to http://acme.com/customers/{state}. A web client makes a request to this API implementation at http://acme.com/customers/CA. What is the correct DataWeave expression to retrieve the value CA? #[message.payload.inboundProperties.'http.uri.params'.state] #[attributes.uriParams.state] #[attributes.'http.uri.params'.state] #[message.inboundProperties.'http.uri.params'.state] #[state]
Java Messaging Service (JMS)
A widely used API for enabling applications to communicate through the exchange of messages Simplifies application development by providing a standard interface for creating, sending, receiving messages
Request access to the API in Anypoint Exchange
API Manager has been configured to enforce an SLA policy and the RAML spec has been updated with the required client_id and client_secret header requirements. The new RAML spec has been published to Anypoint Exchange. What is the next step to gain access to the API? POST a JSON object to the /api/register endpoint of the API proxy Request access to the API in Anypoint Exchange Email the organization administrators to request access to the API Add a client application to the Anypoint Platform organization Correct!
Creates and manages discoverable assets to be consumed by line of business developers
According to MuleSoft, what is the Center for Enablement's role in the new IT operating model? Creates and manages discoverable assets to be consumed by line of business developers Centrally manages partners and consultants to implement line of business projects Implements line of business projects to enforce common security requirements Produces and manages API policies for line of business deployments
lambda $$ - index or key $ - value payload map ($, $$) { .. } is payload map (object, index) { ... }
An anonymous function to not bound to an identifier
Publish the API to Anypoint Exchange
An API has been created in Design Center. What is the next step to make the API discoverable? Deploy the API to a Maven repository Enable autodiscovery in API Manager Publish the API from inside flow designer Publish the API to Anypoint Exchange
Add the Account object metadata to the output and use the drag-and-drop feature to transform the incoming JSON data
An HTTP Request operation returns a JSON array of objects. In the Transform Message component, what is the process to convert the array of objects to an array of custom Java Account objects? Add the Account object metadata to the output and use the drag-and-drop feature to transform the incoming JSON data Change the output type to the Java Account object type Add the Account object metadata to the input and the Transform Message component will automatically convert the JSON objects to Account objects Change the input type to the Java Account object type
The ENTIRE event is sent to each route and processed in PARALLEL
An event contains a payload that is an Array of Objects. How is the event routed in a Scatter-Gather? The ENTIRE event is sent to each route and processed SEQUENTIALLY The event is SPLIT and different SMALLER events are routed and processed in PARALLEL The event is SPLIT and different SMALLER events are routed and processed SEQUENTIALLY The ENTIRE event is sent to each route and processed in PARALLEL
payload filter $.price < 500 orderBy $.price groupBy $.toAirport
An event payload contains an unordered array of flight objects, where every object has a price key and a toAirport key. What is valid DataWeave code to return flights with a price under 500, grouped by toAirport in ascending order, with the lowest price first? payload groupBy $.toAirport filter $.price < 500 orderBy $.price payload groupBy $.toAirport filter $.price > 500 orderBy $.price payload filter $.price < 500 orderBy $.price groupBy $.toAirport payload filter $.price > 500 orderBy $.price groupBy $.toAirport
#[error.errorMessage]
An optional Mule Message regarding the error problem
#[error.childErrors]
An optional collection of inner errors, used by elements like Scatter-Gather to provide aggregated route errors.
Save the max recordID from the set of recordIDs in an ObjectStore and reference this recordID in subsequent database requests
Assume that a database table contains a recordID column that always increases as new records get added to the table. In a Mule application, what is the key process to enable manual watermarking for requests to a database using the Scheduler endpoint and the Database SELECT operation? Save the max recordID from the set of recordIDs in an ObjectStore and reference this recordID in subsequent database requests Enable automatic watermarking in the Database Select operation Set the Watermark column in the Scheduler endpoint to the recordID Save the max recordID from the set of recordIDs in a variable and reference this variable in subsequent database requests
0 - Stop Processing (default) -1 - Continue Processing n - Continue Processing Until a Max Number of Failed Records is Reached
Batch Job Error Handling
100
Batch jobs are queued and scheduled in block of ___
false
Batch step vars are accessible on the On Complete phase true false
false
Batch step vars are accessible once the batch job completes true false
application/dw
Can be used to test expressions to ensure there are no scripting errors
Database connector: On Table Row operation
Can handle generating the query, watermarking, idempotency against concurrent requests You can specify one, both, or neither of the watermarking and idempotency column To check when new records are added to the database table
Subflows
Cannot have their own error handlers
Exporting DataWeave to a file
Click the Edit current target icon Set Source Code to File
// Your comment here /** Multi-line comment here. */
Commenting in DataWeave
API Gateway
Enforces policies, collects and tracks analytics data, manages proxies, provides industry standard encryption and authentications, and manages client applications. Built into the Mule Runtime and ensures that proxies and policies are interconnected between Runtime Manager, API Manager, and the Mule Runtime. Points to the backend APIs and services that you define and abstracts them into a layer that your API management solution can utilise.
API Kit On Error Propagate
Error in implementation is propagated to main router flow. Lose payload and variables.
API Kit On Error Continue
Event in implementation is not passed back to main router flow
Try scope
For a more fine grain error handling within a flow, use this element. It has its own error handling scope to which one or more errors can be handled.
map
Function to apply a transformation function (a lambda) to each item in the array
Mule default error handler
Handles errors of scopes with no error handling if no default error handler is defined
To find the FIRST true condition, then distribute the event to the ONE matched route
How are multiple conditions used in a Choice router to route events? To find the FIRST true condition, then route the same event to the matched route and ALL FOLLOWING routes To route the same event to the matched route of EVERY true condition To find the FIRST true condition, then distribute the event to the ONE matched route To filter and aggregate the responses after copying the event to EVERY route
As query parameters in the HTTP Request operation
How are query parameters dynamically passed to an outbound REST request using an HTTP Request operation? As query parameters in the HTTP Request operation As URI parameters in the HTTP Request operation In the Mule event's payload As flow variables As attributes in a Transform Message component before the HTTP Request operation As attributes in the HTTP Listener operation
Type: When: #[ error.errorType.namespace == "HTTP" ]
How can an error scope be configured to catch all errors in the HTTP namespace? Type: HTTP When: Type: HTTP* When: Type: When: #[ error.errorType.namespace == "HTTP" ] Type: When: #[ contains "HTTP" ]
Creates a separate flow for each HTTP method
How does APIkit determine the number of flows to generate from a RAML specification? Creates a separate flow for each resource Creates a separate flow for each resource that contains child resources Creates a separate flow for each HTTP method Creates one flow for the entire API spec Creates a separate flow for each response status code
At most one
How many Mule applications can run on a CloudHub worker? At most one At least one Depends on the vCores of the worker Depends on the number of CloudHub workers configured
xmlTag @( attributeName1: attributeValue1, attributeName2: attributeValue2 ): xmlValue
How to create attributes inside an XML tag in Dataweave
payload.xmlTag.@attributeName
How to reference attributes when transforming from XML format
Custom Error Type
If an app has two HTTP Request operations that call different services, a connectivity failure on either produces the same error. You can assign a custom namespace and identifier to distinguish them from other existing types within an application. Enables you to distinguish where an error occurred which is useful when examining logs.
Load and Dispatch Phase
Implicit Performs behind the scenes work Splits payload into a collection of records Creates a persistent queue and stores records in it
required: false
In a RAML specification, what attribute defines a query parameter to be optional for a resource? required: false optional: true provided: false mandatory: false
To avoid duplicate processing of records in a database
In the Database On Table Row operation, what does the Watermark column enable the On Table Row operation to do? To save the most recent records retrieved from a database to enable database caching To avoid duplicate processing of records in a database To enable multithreaded event processing for each record retrieved from a database To save the payload into the ObjectStore for future reference
pom.xml
In what file does the Mule project keep track of all of its dependencies? mule-artifact.json pom.xml mule-app.properties global.xml
DataWeave
Is a functional programming language where variables behave just like functions. It is not dependent upon the types of input and output, just their structures.
API Manager
Manages APIs that reside in Exchange or imports the APIs in a ZIP file from the file system. The ZIP is an API object that you exported from API Manager. You set up the API for RAML, HTTP, or WSDL management.
File connector
On CloudHub, can only be use on the /tmp folder On customer-hosted runtimes, the account running Mule must have read and/or write permissions on the specified directories
On Complete Phase
Optional Report summary of records processed Provides insight to which records failed
Topics
Pub-Sub / 1:many Message will be sent to all active listeners Inactive listeners will lose the message upon publish unless the message is made durable
Queues
PTP / 1:1 The receiver does not need to be listening to the queue at the time the message is sent
Batch Job Scope
Provides ability to split large messages into records that are processed asynchronously Splits large messages into individual records Performs actions on each record Handles record level failures that occur so that the job is not aborted Reports on the results Potentially pushes processed output to other systems or queues Enterprise edition only All records do not have to finish one step before proceeding to the next step
None Standard Forever
Reconnection Strategy Options
Process Phase
Required Asynchronously processes the records Contains one or more batch steps
Objects
Represented as a collection of key-value pairs
Arrays
Represented as a sequence of comma-separated values
modules (libraries)
Reusable DataWeave functions
Automatic Watermarking in Mule
Saving, retrieving, comparing are handled for you (e.g. On New or Updated File, On Table Row) Restricted in how you can specify what items/records are retrieved
Reconnection Strategies
Set for a connector in Global Elements properties or for a specific connector operation in Properties view
For Each Scope
Splits a payload collection and processed the individual elements Returns the original payload regardless of the modifications made inside the scope Stops processing and invokes an error handler if one element throws an exception
Frequency: 2000ms Attempts: 2
Standard reconnection strategy
#[contains(param1, param2)] #[param1 contains param2]
Syntax for functions with two parameters in DataWeave
Objects Arrays Simple literals
The data model for a transformation can consist of these three types of data
On Error Continue
The original Mule Error Object that was created is replaced, with anything created within this error handling scope
On Error Propagate
The original Mule Error Object that was created is what is returned, not anything created within this error handling scope
Watermark
The timestamp that is stored each sync and then retrieved and compared against the next sync
#[error.cause]
The underlying Java Throwable that resulted in the failure
src/main/resources
This is where the DWL filesare stored stored
src/test/resources
This is where the sample data used for live preview is stored
Load and Dispatch Process On Complete
Three Phases of a Batch Job
System Errors
Thrown at the system-level where a Mule event is not involved. Errors that occur during application startup or when a connection to an external system fails. Handled by a system error handling strategy which is non-configurable. Logs the error and for connection failures, executes the reconnection strategy.
Messaging Errors
Thrown within an error wherever a Mule event is involved. Normal execution stops and and the event is passed to the error handler (if one is defined). HTTP Listeners return success or error responses depending on how the error is handled.
Batch Aggregator Output is this: [0] [1] Not this: [0, 1]
To accumulate records instead of processing each record separately to process them in one batch
Idempotency
To avoid a record from being processed more than once, specify a unique ID column. The listener will ensure the row has not yet been retrieved or processing hasn't finished yet.
null ""
To create empty XML tags in Dataweave
Scheduler component
To trigger any flow at any time
Accept Expression - DataWeave script Accept Policy - ALL, NO_FAILURES (default), ONLY_FAILURES
Two attributes to filter the records it processes
CREATED_TIMESTAMP MODIFIED_TIMESTAMP
Two automatic watermarking modes Default setting is DISABLED
Fixed - default is to poll every 1000ms Cron - a standard for defining time and date information S M H d m dayOfWeek y
Two types of scheduling strategies
Scripting - problem with the syntax Formatting - a problem with how the transformation from one format to another is written (e.g. a script to output XML does not specify a data structure with a single root node)
Types of DataWeave errors
format
Used in DataWeave to format dates and numbers
lookup() lookup( <flow name to be called> , <payload to send to the flow as a map> )
Used in DataWeave to get data by calling other flows. Cannot call subflows. Whatever the payload the flow returns is what the expression returns.
type as <type>
Used in DataWeave to specify custom data types. Has to be all lowercase letters. No special characters, uppercase letters, or numbers.
Inline: as Object { class: "com.myPOJO" } Custom Data Type: type <typeName> = Object { class: "com.myPOJO" }
Used in DataWeave to transform objects to POJOs
fun fun lname(aString) = upper(aString)
Used to access lambdas assigned to variables as traditional functions
Add new target
Used to create multiple transformations with one Transform component
var var lname = (aString) -> upper(aString)
Used to define global variables in the header of the DataWeave transformation
using( <variableName> = <expression> )
Used to define local variables in the body of the DataWeave transformation. It is at the top of the precedence order before binary functions.
import import dasherize from dw::core::Strings (function in a module) import dw::core::Strings (module)
Used to import functions in all other modules in DataWeave
.*
Used to reference repeated elements in DataWeave
Object Store
Used to store key-value pairs (e.g. watermarks, access tokens, user information) across flow executions Each Mule application has a Object Store that is - Available without configuration - Persistent and is saved to the corresponding locations: Embedded Mule and Standalone Mule Runtime - file CloudHub - data storage Clustered Mule Runtimes - shared distributed memory
Anypoint Exchange
What MuleSoft product enables publishing, sharing, and searching of APIs? API Designer Runtime Manager Anypoint Exchange API Notebook
Batch Job Variables
Variables created before a batch job is available in all batch steps Variables created inside a batch job is record specific
application flow processors
Various levels of handling for messaging errors
Inline (default) DWL file Module of functions
Ways to access DataWeave
API Portals
What asset can NOT be created using Design Center? API Specifications Mule Applications API Fragments API Portals
Allow a flow to pass events to another flow asynchronously
What can ONLY be done with VM connectors, and NOT with Flow References, in a single Mule application?
Array
What DataWeave 2.0 type can be used as input to a map operation? Array Object Map String Key
PUT
What HTTP method in a RESTful web service is typically used to completely replace an existing resource? PATCH PUT POST GET
System
What MuleSoft API-led connectivity layer is intended to expose part of a backend database without business logic? Experience Data System Process Security
Allow a flow to pass events to another flow asynchronously
What can ONLY be done with VM connectors, and NOT with Flow References, in a single Mule application? Preserve variables as the Mule event gets passed to another flow Allow a flow to pass events to another flow synchronously Preserve the original payload when the VM connector returns a response from a flow Allow a flow to pass events to another flow asynchronously
Determine which response Mule event is allowed to pass through to the API backend service
What does an API proxy application NOT do? Determine which request Mule event is allowed to pass through to the API backend service Apply runtime policies to enforce governance Determine which response Mule event is allowed to pass through to the API backend service Meter the traffic flowing through the proxy
The Mule runtime's embedded API Gateway
What does the Mule runtime use to enforce policies and limit access to APIs? Anypoint Access Control The proxy created by API Manager API Manager The Mule runtime's embedded API Gateway
WSDL
What file type is required to configure a Web Service Consumer to consume a SOAP web service? RAML WSDL JSON OAS
Attributes are replaced with new attributes from the HTTP Request response (which might be null)
What happens to the attributes of a Mule event in a flow after an outbound HTTP Request is made? New attributes may be added from the HTTP response headers, but no headers are ever removed New attributes may be added from the HTTP response, but previous attributes are passed through unchanged Attributes do not change Attributes are replaced with new attributes from the HTTP Request response (which might be null)
inboundProperties
What is NOT part of a Mule 4 event? message payload inboundProperties attributes
outboundProperties
What is NOT part of a Mule 4 event? message payload outboundProperties variables attributes
API is designed first using an API specification for rapid feedback
What is a core characteristic of the Modern API? API is designed first using an API specification for rapid feedback API is rapidly prototyped following AGILE methodology API follows the RESTful architecture API has a mechanism to accept feedback and suggestions for improvement
20.3844 as String {format: ".0#"}
What is the correct way to format the decimal 20.3844 as a string to two decimal places? 20.3844 as String {format: ".0#"} 20.3844 as :string {format: ".0#"} 20.3844 as String as format: ".0#" 20.3844 as :string as format: ".0#" 20.3844 as String (format = ".0#") 20.3844 as :string (format = ".0#")
WSDL
What is the format of documents exchanged in a SOAP request/response interaction? RAML JSON WSDL YAML
[.333, 1]
What is the format of the Mule object in the batch aggregator step? [.333][1] [.333, 1]
To design and develop fully functional Mule applications in a hosted development environment
What is the main purpose of flow designer in Design Center? To design API RAML files in a graphical way To design and develop fully functional Mule applications in a hosted development environment To define API lifecycle management in a graphical way To design and mock Mule application templates that must be implemented using Anypoint Studio
An event processor
What is the minimum required configuration in a flow for a Mule application to compile? An event processor An event source A Logger component A project RAML file
Array of Mule event objects
What is the object type returned by the File List operation? Array of Mule event objects Object of Mule event objects Array of String file names Object of String file names
Design the API in Design Center and publish the API to Exchange
What is the process to create a connector using REST Connect? Develop the API in flow designer and publish the API to Exchange Design the API in Anypoint Studio and upload the API to Runtime Manager Design the API in Design Center and publish the API to Exchange Develop the API in Anypoint Studio and export the connector as a jar file
Allows a deployed Mule application to connect with API Manager to download policies and act as its own API proxy
What is the purpose of API autodiscovery? Enables API Manager to discover the published API on Anypoint Exchange Allows the Mule application to be automatically discovered on Anypoint Exchange Enables an API to be directly managed in API Manager Allows a deployed Mule application to connect with API Manager to download policies and act as its own API proxy
Validates requests against RAML API specifications and routes them to API implementations
What is the purpose of the api:router element in APIkit? Creates native connectors using a 3rd party Java library Serves as an API implementation Validates requests against RAML API specifications and routes them to API implementations Validates responses returned from API requests and routes them back to the caller
Validation module's Is number operation
What module and operation will throw an error if a Mule event's payload is not a number? Validation module's Is number operation Validation module's Is not number operation Filter module's Is number operation Filter module's Is not number operation
Rate limiting
What out-of-the-box policy can safeguard against Denial of Service type attacks? Rate limiting Throttling Cross-origin resource sharing LDAP security manager
80
What port number is used to expose the domain URL of a Mule application deployed to CloudHub? 8081 81 80 8080
${https.port}
What reserved property can be defined and used in a Mule application to allow an HTTPS Listener to be accessed by external web clients after the Mule application is deployed to CloudHub? ${ssl.port} ${ssl.listener.port} ${https.listener.port} ${https.port}
SELECT * FROM table WHERE TIMESTAMP > :watermark
When a watermark column is defined, this query is automatically generated and used
Mule 4 Error Handling
Whenever an error happens, the current scope the flow is processing stops dead in its tracks and (depending on which error handling scope is used) either an Error Object or normal Mule Message is passed back to the parent flow. No matter what you do in a flow to handle an error, you can't continue with your current scope of work.
CloudHub worker
Where does a deployed flow designer application run in Anypoint Platform? Exchange CloudHub worker API Manager Design Center
CloudHub workers CANNOT download ALL possible project dependencies a project may contain
Why must a Mule application's deployable archive package all its dependencies in order to be deployed to CloudHub?
CloudHub workers CANNOT download ALL possible project dependencies a project may contain
Why must a Mule application's deployable archive package all its dependencies in order to be deployed to CloudHub? The online logging service requires access to ALL project dependencies to log the appropriate Java classes used in the Mule application CloudHub workers CANNOT download ALL possible project dependencies a project may contain CloudHub workers needs to compare the current dependencies with the LATEST project dependencies from the MuleSoft repository MuleSoft support requires access to ALL project dependencies for future online troubleshooting
{( ... )} {} defines the object () transforms each element into a key-value pair
Wrap the map operation with these when mapping array elements (JSON or Java) to XML
Manual Watermarking in Mule
You handle the saving, retrieving, comparing of the watermark You specify exactly what items/records are retrieved