Skip to content
Toro Cloud Dev Center
Community
Learn
Support
Toro Cloud
Login
Community
Learn
Support
Initializing search
Get Started for free
Video Tutorials
Video Tutorials
Video tutorials index
Getting Started
Getting Started
Introduction to services
Packages
Packages
Package configuration
Package properties
Importing & exporting packages
Services
Services
Basic services
Basic services
Creating a service manually
Generating services from an API
SQL services
SQL services
Using the database perspective
SQL database connections
Creating a SQL service
Using stored procedures
Using database views
noSQL services
noSQL services
noSQL database connections
Creating a Cassandra service
Creating a MongoDB service
Using Redis in a service
Creating flat file services
Creating flat file services
Delimited flat file services
Excel flat file services
Invoking a service
Invoking a service
Invoking a service manually
Invoking a service via an API
Invoking a service via HTTP
Invoking a service via event based workflow
Invoking a service via the Scheduler endpoint
Invoking a service via the JMS endpoint
Invoking a service via the email endpoint
Invoking a service via the FTP client endpoint
Invoking a service via the HTTP filter endpoint
Invoking a service via the Jabber endpoint
Invoking a service via the Redis listener endpoint
Invoking a service via the RSS endpoint
Invoking a service via the Tracker Resubmit endpoint
Invoking a service via the URL alias endpoint
Invoking Groovy via the Scheduler endpoint
Step operations
Step operations
Map step
Fork step
Block step
Iterate step
While step
Break step
Script step
Concurrent step
Random step
Functions
Functions
Introduction to Functions
Using Functions
Array Functions
Boolean Functions
Cache Functions
CSV Functions
Database Connection Pool Functions
Email Functions
File Functions
Flat File Functions
Flux Functions
Gloop Functions
Groovy Functions
HTTP Functions
JMS Functions
JSON Functions
Logger Functions
Marshaller Functions
Martini Functions
Number Functions
Proxy Request Functions
Remote Deployment Functions
REST Functions
RSS Functions
Service Registry Functions
Stream Functions
String Functions
SQL Functions
Throttling and Monitor Functions
Tracker Functions
URL Functions
User Group Functions
Util Functions
Velocity Functions
VFS Functions
XML Functions
Creating custom functions
Managing data
Managing data
Mapping
Cursors
XA transactions
Data Caching
Data models
Database connection pool switching
Declaring properties
Unloading properties
Managing events
Managing events
Subscribing to a Kafka topic
Producing messages on a Kafka topic
Subscribing to a JMS topic/queue
Publishing JMS messages
Using external libraries
Using external libraries
Using Groovy Java libraries
Spring
Error handling
Error handling
Basic error handling
Logging errors to the console
Logging errors to an external service
Handling error logic at the service level
Creating a custom exception and error message using the validate expression
Creating a custom exception and error message explicitly in a service
Creating a custom exception class
Auditing and Debugging
Auditing and Debugging
Viewing log files
Configuring the loggers
Using Tracker
Tracking inbound HTTP requests
Tracking outbound HTTP requests
Tracking services from an endpoint
Tracking services programmatically
Debugging services
APIs
APIs
Creating an API
Creating an API
Creating an API
Mocking an API response
Implementing API services
Authentication - Basic
Authentication - oAuth2
Debugging an API
Consuming an API
Consuming an API
Creating a service by consuming an API in HTTP client
Creating a service from an API's documentation
Creating services by importing an API schema
API authentication
Documenting an API
Documenting an API
Creating API documentation
Exporting a Postman collection
Exporting an OpenAPI schema
Event based workflows
Event based workflows
Creating an event based workflow
Web page templates
Web page templates
Creating web page templates
Using Velocity in a service
Using Git with Martini
Using Git with Martini
Creating a Git repository
Committing files to a Git repository
Push branch to remote Git repository
Clone Git repository
Fetch & pull commits from remote Git repository
Creating a build pipeline with Martini
Creating a build pipeline with Martini
AWS CodeDeploy
Bamboo
Github Actions
Gitlab Pipelines
Jenkins
Microsoft Azure Pipeline
Martini Server Runtime Setup & Configuration
Martini Server Runtime Setup & Configuration
Dependencies
Dependencies
ActiveMQ Artemis with AMQP
Clustering
Clustering
Apache ZooKeeper cluster
Consul cluster
Quick start guide
Quick start guide
Overview
Martini Online subscription
Martini Desktop installation
User interface
examples package
examples package
Overview
Alias for serializing
APIs
Asynchronous Gloop steps
Caching
Database cursors
Database transactions
Data transformation
Date manipulation
Endpoints
Flat file service
Event Based Workflow
Gloop annotations
Gloop steps
HTTP client
Invoking Gloop
JSP response
JSON cursors
Report Builder
Set expressions
Solr
SQL services
Streams
Throttling and monetization
Velocity
Virtual file systems
WebSockets
XML cursors
Tutorial
Tutorial
Overview
Creating a package
Writing a service
Invoking a service over HTTP
Creating an endpoint
Publishing an API
Documenting an API
Securing an API
Viewing transactions
Creating a report
Setup and administration
Setup and administration
Overview
Editions
Installation and deployment
Installation and deployment
Overview
Flexible deployment models
Cloud Edition
Desktop Edition
Server Edition
Server Edition
Overview
Prerequisites
Prerequisites
Overview
JDK 8
Installation
Docker setup
Docker setup
Overview
Docker image
Standard container procedures
Swarm mode procedures
Firewall
Proxying to a domain
Startup and shutdown
Directory structure
Instance management
Licenses
Licenses
Overview
Generating
Installation
Updating
Configuration scenarios
Configuration scenarios
Overview
Simple
Three tier network architecture
Three tier network architecture
Overview
Simple
High availability
Development
Production
Clustered
Clustered
Overview
Managed clusters
Managed clusters
Apache ZooKeeper
Consul
Eureka
Kubernetes
Service discovery & registration
Headless environment
Configuration
Configuration
Overview
CLI tool
ESB API
Application properties
Performance tuning
Performance tuning
Overview
JVM
Tomcat
ActiveMQ
ActiveMQ Artemis
RabbitMQ
Solr
Web services
Application data
Application data
Overview
Broker
Broker
Overview
ActiveMQ
ActiveMQ
Overview
Transport connectors
Remote
Remote
Overview
General configuration
Authentication and authorization
Master-slave setup
ActiveMQ Artemis
RabbitMQ
Sending a JMS message
Database
Database
Overview
Perspective
Connection pools
Connection pools
Overview
Adding
Removing
Status
Core
Core
Overview
Migrating
Relational/SQL
Relational/SQL
Overview
Properties
Installing drivers
XA transactions
AWS RDS
AWS RDS
Overview
New RDS
Existing RDS
Cassandra
MongoDB
MongoDB
Overview
Creating databases and collections
Connecting to MongoDB Atlas
Redis
Queries
Queries
Overview
SQL
Cassandra
MongoDB
MongoDB
Overview
Types
Solr
Solr
Overview
Remote
Cloud
Cloud
Overview
Configuring ZooKeeper
Configuring SolrCloud
Configuring Martini
Using Redis with API throttling
Security
Security
Overview
HTTP & HTTPS
NGINX & TLS
Monitoring
Monitoring
Overview
Application logs
Threads
User sessions
HTTP requests
Broker destinations
Service manager
JDBC connections
Development
Development
Overview
IDEs
Martini packages
Martini packages
Overview
Metadata
Lifecycle
Directory structure
Core
Spring context
Deployment descriptor
Properties
Web pages
Creating
Importing
Exporting
Remote deployment
Deleting
Gloop
Gloop
Overview
Services
Services
Overview
Inputs and outputs
Creating
Importing
Generating
Steps
Steps
Overview
Map
Fork
Iterate
While
Block
Break
Script
Concurrent
Random
Invoke
Editor
Editor
Overview
Step editor
Input/Output view
Mapper view
Properties view
Shortcuts
Validation
Refactoring
Running
Debugging
Documenting
Design guidelines
Models
Models
Overview
Core
Creating
Model editor
Object types
Cursors
Model references
Object converters
Flat file service
SQL
Cassandra
MongoDB
API
API
Consuming
Ad hoc
REST
REST
Overview
Creating
Editor
Editor
Overview
Source
General
Documentation
Operations
Tags
Security
Preview
Validation
Documentation
SOAP
SOAP
Overview
Creating
Editor
HTTP data mapping
HTTP data mapping
Overview
Request data
Response data
Web Page templates
Web Page templates
Overview
Creating
Generating
Importing
Steps
Steps
Tag
Invoke template
Editor
Editor
Overview
Adding step
Editing step
Exposing
Running
Debugging
Resources
Groovy
Groovy
Overview
Inputs and outputs
Creating
Editor
Running
Invoking Gloop or Flux
Groovydoc
Gloop annotations
Customizing compilation
Custom Functions
HTTP endpoints
Event Based Workflow
Event Based Workflow
Overview
Anatomy
Creating
Building
Building
Adding state
Adding transition
Setting state action
Setting inputs
Passing data between states
Making decisions
Delaying transitions
Looping back
Handling exceptions
Reserved variables
Waiting
Triggering
Monitoring
Running
Debugging
Documenting
API
Functions
Functions
Overview
ArrayFunctions
BooleanFunctions
CacheFunctions
CoreFunctions
CsvFunctions
DatabaseConnectionPoolFunctions
EmailFunctions
FileFunctions
FlatFileFunctions
FluxFunctions
GloopFunctions
GroovyFunctions
HttpClientFunctions
HttpFunctions
JabberFunctions
JmsFunctions
JsonFunctions
KafkaClientsFunctions
Logger
MarshallerFunctions
MartiniFunctions
MongoDbFunctions
MonitorFunctions
NumberFunctions
ProxyRequestFunctions
RemoteDeploymentFunctions
RestFunctions
RssFunctions
ServiceRegistryFunctions
SolrFunctions
SqlFunctions
StreamFunctions
SpringFunctions
StringFunctions
ThrottlingFunctions
TrackerFunctions
UrlFunctions
UserGroupFunctions
UtilFunctions
VelocityFunctions
VfsFunctions
WebFunctions
WidgetPageFunctions
XmlFunctions
JAR services
Martini endpoints
Martini endpoints
Overview
Types
Types
Directory watcher
Email
FTP client
FTP server
HTTP filter
Jabber
JMS listener
Kafka listener
MongoDB listener
Redis Pub/Sub listener
RSS
Scheduler
Tracker resubmit
URL alias
Creating
Properties
Status
Exporting
Importing
Deleting
HTTP client
HTTP client
Overview
Creating requests
Configuring requests
Generating requests
Sending requests
Saving and grouping requests
Sharing requests
Cookie manager
API Explorer
Security and authentication
Security and authentication
Users and groups
Users and groups
Overview
Managing
Authentication schemes
Authentication schemes
Basic
OAuth2
Securing Gloop APIs
Securing Groovy APIs
Third-Party Authentication and Authorization
API monitoring
API monitoring
Overview
Monitor rule
Invoke document
Logging invokes
Searching invokes
Monetization
Search API
API throttling
API throttling
Overview
Throttling rule
Tracker
Tracker
Overview
Document structure
Indexing documents
Adding GeoIP data
Searching documents
Rebuilding the index
Security and privacy
Search API
Custom search index
Custom search index
Overview
Creating a core
Indexing documents
Updating documents
Deleting documents
Searching documents
Search API
Report Builder
Report Builder
Overview
Creating reports
Creating reports
Overview
Rows and containers
Charts
Charts
From array
From JSON
From Tracker data
From Monitor data
From RESTful response
With CSS
Importing reports
Exporting Reports
Previewing reports
Deleting reports
Releases
Releases
Release notes
Release notes
Martini Runtime
Martini Runtime
v1.0.0
v1.0.1
v1.0.2
v1.0.3
v1.0.4
v1.1.0
v1.2.0
v1.3.0
v1.3.1
v1.3.2
v1.4.0
v1.5.0
v1.5.1
v1.5.2
v1.5.3
v1.5.4
v1.5.5
v1.6.0
v1.7.0
v1.7.1
v1.8.0
v1.8.1
v1.8.2
v1.9.0
v1.9.1
v1.10.0
v1.10.1
Martini Desktop
Martini Desktop
v1.0.0
v1.0.1
v1.0.2
v1.1.0
v1.2.0
v1.2.1
v1.3.0
v1.4.0
v1.5.0
v1.6.0
v1.6.1
v1.7.0
v1.7.1
v1.8.0
v1.8.1
v1.8.2
v1.8.3
v1.8.4
Martini Online
Martini Online
v1.0.0
v1.0.1
v1.1.0
v1.2.0
v1.2.1
v1.3.0
v1.4.0
v1.4.1
v1.5.0
v1.5.1
v1.5.2
v1.5.3
v1.5.4
v1.5.5
v1.6.0
v1.6.1
v1.6.2
v1.6.3
v1.7.0
v1.7.1
v1.7.2
v1.7.3
v1.7.4
v1.7.5
Feature requests
Bug reports
Appendix
Appendix
Library dependencies
Library dependencies
Martini Runtime
Martini Runtime
Overview
v1.0.0
v1.1.0
v1.2.0
v1.3.0
Martini Online
Martini Online
Overview
v1.0.0
v1.1.0
v1.2.0
v1.3.0
v1.4.0
v1.5.0
v1.6.0
v1.7.0
Vulnerabilities
Naming conventions
GUI
GUI
Theme
Text search
Service picker
Service invoker
Help
Shortcuts
Shortcuts
Martini Desktop
Martini Online
Public IPs
Benchmarking
Benchmarking
Web services
Further reading
Javadoc
Support
Knowledge Base
Community Q&A
In this topic:
Using Groovy Java libraries
Using external libraries
Using Groovy Java libraries
2:03
Spring
3:10