ok, Traffic Parrot documentation - Configuration Reference

Configuration Reference

« Back to documentation home

Overview

This page provides a reference for all configuration properties available in the trafficparrot.properties file. These properties control various aspects of Traffic Parrot's behavior, including GUI settings, system simulation configuration, and more.

Important Terminology: Traffic Parrot is a system and API simulator that creates simulations of your APIs and services. Throughout this documentation, you'll see references to:

  • System and API simulation (simulators)
  • Service virtualization (virtual services)
  • API mocking (mocks)

All these terms refer to the same capability: creating simulated versions of real services, APIs, and systems that respond to requests as if they were the actual services.

To modify these properties, edit the trafficparrot.properties file in your Traffic Parrot installation directory and restart the application for changes to take effect.

Web User Interface Properties

These properties configure the Traffic Parrot web user interface (GUI) settings.

Web User Interface HTTP/HTTPS Port Configuration

Property Name Default Value Description
trafficparrot.gui.http.port 8080

Specifies the HTTP port number for the Traffic Parrot web user interface.

Usage: When HTTP is enabled, the GUI will be accessible at http://localhost:[port]

Example: Setting this to 8080 makes the GUI available at http://localhost:8080

Valid Range: 1-65535

trafficparrot.gui.http.port.enabled true

Controls whether the HTTP connector for the GUI is enabled or disabled.

Values:

  • true - Creates an HTTP server connector on the specified HTTP port
  • false - No HTTP connector is created; GUI is not accessible via HTTP

Security Note: You may want to set this to false and only use HTTPS for secure environments.

trafficparrot.gui.https.port 8079

Specifies the HTTPS port number for the Traffic Parrot web user interface.

Usage: When HTTPS is enabled, the GUI will be accessible at https://localhost:[port]

Example: Setting this to 8079 makes the GUI available at https://localhost:8079

Valid Range: 1-65535

Related Properties:

  • trafficparrot.gui.https.jks.resource - Path to the Java KeyStore file
  • trafficparrot.gui.https.jks.password - Password for the KeyStore

Web User Interface HTTPS Configuration

Property Name Default Value Description
trafficparrot.gui.https.port.enabled true

Controls whether the HTTPS connector for the GUI is enabled.

Values:

  • true - Creates an HTTPS server connector on the specified HTTPS port
  • false - No HTTPS connector is created; GUI is not accessible via HTTPS
trafficparrot.gui.https.jks.resource certificates/user-interface-https.jks

Specifies the path to the Java KeyStore (JKS) file containing the SSL/TLS certificate for HTTPS connections to the GUI.

Note: The path is relative to the Traffic Parrot installation directory or can be an absolute path.

trafficparrot.gui.https.jks.password trafficparrot

The password for the JKS keystore file specified in trafficparrot.gui.https.jks.resource.

Security Note: In test and development environments, use a strong password and consider using environment variables or secure credential stores.

Important Notes

  • Both HTTP and HTTPS can be enabled simultaneously, allowing access via both protocols
  • These GUI ports are separate from the simulator (virtual service/mock) ports (8081 for HTTP, 8082 for HTTPS)
  • The GUI ports are used for managing Traffic Parrot, while simulator (virtual service/mock) ports handle the actual mocked/virtualized traffic
  • Ensure the selected ports are not already in use by other applications

Web User Interface Security and Access Control

Property Name Default Value Description
trafficparrot.gui.security.mode ALLOW_ALL

Controls the authentication mode for the GUI.

Values:

  • ALLOW_ALL - No authentication required (default)
  • LOGIN_PROPERTIES - Uses basic HTTP authentication with credentials from trafficparrot.gui.login.properties file

Security Note: For test and development environments, it's recommended to use LOGIN_PROPERTIES mode with HTTPS enabled.

trafficparrot.gui.enabled true

Master switch to enable or disable the GUI entirely.

Values:

  • true - GUI server starts normally
  • false - GUI server won't start (useful for headless/API-only deployments)

Web User Interface Advanced Configuration

Property Name Default Value Description
trafficparrot.gui.forwardToVirtualService.enabled true

When enabled, requests made to the GUI port that don't match GUI endpoints will be forwarded to the simulator (virtual service/mock) port.

Use Case: This allows the GUI and simulator (virtual service/mock) to effectively share the same port, simplifying configuration in some scenarios.

Note: In performance profile, this is disabled by default to maximize throughput.

trafficparrot.gui.jmx.enabled false

Controls whether JMX (Java Management Extensions) is enabled for the GUI server.

Use Case: Enable this for remote monitoring and management of the GUI server using JMX tools.

trafficparrot.gui.jmx.port 8085

The port number for JMX connections when JMX is enabled.

Valid Range: 1-65535

Note: Only effective when trafficparrot.gui.jmx.enabled is set to true.

trafficparrot.gui.startup.timeout.milliseconds 45000

The maximum time in milliseconds to wait for the GUI server to start up before timing out.

Default: 45000 (45 seconds)

Use Case: Increase this value if the GUI server takes longer to start on slower systems or when loading large configurations.

trafficparrot.gui.http.queuedThreadPool.maxThreads 200

Maximum number of threads in the Jetty thread pool for handling GUI HTTP requests.

Performance Note: This affects the GUI server's ability to handle concurrent connections. Increase for high-concurrency scenarios.

Resource Impact: Each thread consumes memory, so balance this with available system resources.

trafficparrot.gui.http.queuedThreadPool.minThreads 8

Sets the minimum number of threads in the Jetty thread pool for the Traffic Parrot GUI HTTP server.

Performance Impact: Controls the base number of threads available for handling GUI requests. Higher values ensure better responsiveness under load.

trafficparrot.gui.config.files.allowedFilesToEdit .json$,
.csv$,
.properties$

Defines regex patterns for file types that can be edited through the GUI configuration files editor.

Security: Prevents unauthorized editing of sensitive files through the web interface.

trafficparrot.gui.config.files.notAllowedFilesToEdit \.git,target,
deleted-scenarios,
trafficparrot.properties,
log4j,lib

Defines regex patterns for files/directories that are forbidden from editing through the GUI.

Security: Blocks access to system-critical files and directories.

System Simulation and Mocking Properties

These properties configure the core system simulation functionality that handles HTTP/HTTPS traffic. These simulators are also referred to as virtual servcies or API mocks in various contexts.

Basic Simulator and Mock Configuration

Property Name Default Value Description
trafficparrot.virtualservice.start true

Master switch that controls whether the system simulator component starts up.

Impact: When set to false, disables the entire simulation and mocking functionality (virtual services).

trafficparrot.virtualservice.http.port 8081

Main HTTP port for the simulator (virtual service/mock) that handles mock HTTP requests.

Note: This is separate from the GUI port (8080).

trafficparrot.virtualservice.https.port 8082

HTTPS port for the simulator (virtual service/mock) that handles mock HTTPS requests.

Note: Requires SSL/TLS configuration via keystore properties.

trafficparrot.virtualservice.proxy.http.port 8095

HTTP proxy port used for recording traffic from real services.

Use Case: Configure clients to use this as an HTTP proxy to record interactions.

trafficparrot.virtualservice.http.management.port 8083

HTTP management API port for administrative operations on the simulator (virtual service/mock).

Use Case: Used by automation tools and the GUI for managing mappings and configurations.

trafficparrot.virtualservice.jms.management.port 9093

JMS management port for administrative operations on JMS simulator (virtual service/mock).

Use Case: Used for managing JMS queue and topic virtualization.

Simulator and Mock Jetty Server Configuration

Property Name Default Value Description
trafficparrot.virtualservice.jettyAcceptors 1

Number of acceptor threads for the Jetty server handling simulator (virtual service/mock) requests.

Performance: Performance profile uses 4. Higher values improve connection handling under load.

trafficparrot.virtualservice.jettyAcceptQueueSize 0

Queue size for incoming connections. 0 means use system default.

Tuning: Increase for high-load scenarios to queue more incoming connections.

trafficparrot.virtualservice.jettyHeaderRequestSize 8192

Maximum size in bytes for HTTP request headers.

Use Case: Increase if you need to handle requests with very large headers (e.g., large JWT tokens).

trafficparrot.virtualservice.jettyHeaderResponseSize 8192

Maximum size in bytes for HTTP response headers.

Use Case: Increase if your mock responses include very large headers.

trafficparrot.virtualservice.containerThreads 100

Number of container threads for processing requests.

Performance: Performance profile uses 500. Higher values allow more concurrent request processing.

trafficparrot.virtualservice.startup.timeout.milliseconds 30000

Maximum time in milliseconds to wait for the simulator (virtual service/mock) to start up.

Default: 30000 (30 seconds)

Simulator and Mock Logging and Monitoring

Property Name Default Value Description
trafficparrot.virtualservice.httpRequestLoggingDisabled false

Controls whether HTTP request logging is disabled in the system simulator.

Performance: Set to true to disable request logging for better performance.

trafficparrot.virtualservice.accessLogsEnabled true

Controls whether access logs are enabled for the system simulator.

Performance: Set to false to disable access logging to improve performance.

trafficparrot.virtualservice.maxRequestJournalEntries 10000

Maximum number of request journal entries kept in memory for verification.

Performance: Performance profile uses 0 to disable. Higher values consume more memory but allow more request history.

trafficparrot.virtualservice.http.monitorPerformance false

Enable HTTP performance monitoring for the simulator (virtual service/mock).

Use Case: Enable for detailed performance analysis of simulator (virtual service/mock) responses.

Simulator and Mock File System and Resources

Property Name Default Value Description
trafficparrot.virtualservice.trafficFilesRootUrl file:.

Root directory URL for traffic files (mappings, recorded data, etc.).

Examples: file:. (current dir), file:/path/to/data, classpath:data

trafficparrot.virtualservice.jmsConnectionsUrl classpath:jms-connections.json

Location of the JMS connections configuration file.

Use Case: Defines JMS broker connections for message virtualization.

trafficparrot.virtualservice.ibmMqConnectionsUrl classpath:ibm-mq-connections.json

Location of the IBM MQ connections configuration file.

Use Case: Defines IBM MQ manager connections for native MQ virtualization.

trafficparrot.virtualservice.rootDirectoriesUrl classpath:root-directories.json

Location of the root directories configuration file.

Use Case: Defines additional root directories for organizing traffic data.

trafficparrot.virtualservice.keystoreAndTruststore.jks.resource certificates/trafficparrot-keystore-and-truststore.jks

Path to the Java KeyStore file containing both keystore and truststore for simulator (virtual service/mock) SSL/TLS.

Use Case: Used for HTTPS simulator (virtual service/mock) and client certificate authentication.

trafficparrot.virtualservice.keystoreAndTruststore.jks.password trafficparrot

Password for the simulator (virtual service/mock) keystore/truststore file.

Security: Change this in test and development environments.

Simulator and Mock Recording Properties

These properties control how Traffic Parrot records and processes traffic from real services.

Property Name Default Value Description
trafficparrot.virtualservice.ungzipBeforeWritingToDisk true

Controls whether gzipped responses are uncompressed before saving to disk during recording.

Impact: When enabled, makes recorded traffic files more readable but may increase disk usage.

trafficparrot.virtualservice.enableRedirectHandling false

Enables automatic following of HTTP redirects during recording.

Use Case: When enabled, Traffic Parrot will follow redirect chains automatically during proxy recording.

trafficparrot.virtualservice.recordOnlyContentTypesContaining TP_RECORD_ALL_
CONTENT_TYPES

Filters recording to only capture specific content types.

Default: TP_RECORD_ALL_CONTENT_TYPES (special value meaning record all)

Example: application/javascript,application/xml to record only JS and XML content

trafficparrot.virtualservice.gzipHttpResponseEnabled true

Enables/disables gzip compression of HTTP responses from the simulator (virtual service/mock).

Performance: Reduces bandwidth usage but increases CPU usage for compression.

Simulator and Mock Caching and Performance Properties

These properties control caching behavior and performance optimizations.

Property Name Default Value Description
trafficparrot.virtualservice.mapping.cache.milliseconds 0

Cache duration for stub mappings in milliseconds.

Performance: Performance profile uses 10,000,000 ms. Caching reduces file I/O but uses more memory.

Default: 0 (no caching)

trafficparrot.virtualservice.mapping.cache.populate.on.startup false

Controls whether mapping cache is populated during startup.

Performance: Pre-populating cache improves response time but increases startup time.

trafficparrot.virtualservice.handlebars.maxCacheEntries 0

Maximum number of entries in the Handlebars template cache.

Performance: Performance profile uses 10,000. Caching improves template rendering speed but uses memory.

Default: 0 (no caching)

trafficparrot.virtualservice.handlebars.select.indexAndCacheCsvFiles false

Enables indexing and caching of CSV files used in Handlebars select helpers.

Performance: Performance profile enables this. Significantly improves performance when using CSV data in templates.

Simulator and Mock Handlebars Template Properties

These properties control Handlebars templating behavior across all simulator (virtual service/mock) types.

Property Name Default Value Description
trafficparrot.virtualservice.handlebars.normalizeHelperParameters false

Controls parameter normalization in Handlebars helpers.

Impact: Affects how helper parameters are processed and validated.

trafficparrot.virtualservice.handlebars.now.provider HANDLEBARS

Selects the implementation for the {{now}} helper.

Values:

  • WIREMOCK - Uses WireMock version of {{now}} helper
  • HANDLEBARS - Uses Handlebars.java version of {{now}} helper
trafficparrot.virtualservice.handlebars.now.dynamic false

Allows runtime specification of the {{now}} provider.

Usage: When true, allows {{now provider='WIREMOCK'}} syntax in templates.

Advanced Properties

These properties control advanced Traffic Parrot behavior and system-level configurations.

Property Name Default Value Description
trafficparrot.virtualservice.http.no.mapping.found.code 900

HTTP status code returned when no mapping is found for a request.

Use Case: Custom error code to distinguish between unmapped requests and real HTTP errors.

trafficparrot.mostly.printable.characters.threshold 0.95

Threshold (0.0-1.0) for determining if content is mostly printable characters.

Default: 0.95 (95% of characters must be printable)

Use Case: Used for message body analysis and logging decisions.

trafficparrot.jms.skipRecordingProperties JMSXDeliveryCount,
JMSXUserID,
JMS_IBM_PutApplType,
JMS_IBM_PutDate,
JMS_IBM_PutTime,
JMSXAppID

Comma-separated list of JMS properties to skip during recording.

Use Case: Excludes system-generated or time-sensitive properties from recorded JMS messages.

trafficparrot.ibmmq.connect.options.accessQueue.output MQOO_OUTPUT|
MQOO_FAIL_IF_QUIESCING

IBM MQ connection options for queue access operations.

IBM MQ Flags: Controls how queues are opened for output operations.

gRPC System Simulation Properties

These properties configure the gRPC system simulation functionality for protocol buffer-based services. This includes creating gRPC simulators (also known as virtual services or API mocks).

Basic gRPC Configuration

Property Name Default Value Description
trafficparrot.virtualservice.grpc.enabled true

Master switch that controls whether gRPC system simulation functionality is enabled.

Enterprise Feature: Requires enterprise license with gRPC feature enabled.

Impact: When disabled, all gRPC functionality is unavailable.

trafficparrot.virtualservice.grpc.tls.port 5551

Port number for gRPC TLS/HTTPS connections.

Valid Range: 1-65535

Security: Used for secure gRPC communications with TLS encryption.

trafficparrot.virtualservice.grpc.non.tls.port 5552

Port number for gRPC non-TLS/HTTP connections.

Valid Range: 1-65535

Use Case: For development environments or when TLS is terminated elsewhere.

gRPC TLS/SSL Configuration

Property Name Default Value Description
trafficparrot.virtualservice.grpc.requireClientAuthentication true

Controls whether mutual TLS client authentication is required.

Security: When enabled, clients must present valid certificates for authentication.

trafficparrot.virtualservice.grpc.serverTrustPemUrl classpath:certificates/
grpc/ca.pem

Path to server's trusted CA certificates for TLS.

Format: PEM format certificate file

Usage: Validates client certificates when mutual TLS is enabled.

trafficparrot.virtualservice.grpc.serverPemUrl classpath:certificates/
grpc/server.pem

Path to server's certificate file for TLS.

Format: PEM format certificate file

Usage: Server's public certificate for TLS connections.

trafficparrot.virtualservice.grpc.serverKeyUrl classpath:certificates/
grpc/server.key

Path to server's private key file for TLS.

Format: PEM format private key file

Security: Keep this file secure and private.

trafficparrot.virtualservice.grpc.clientTrustPemUrl classpath:certificates/
grpc/ca.pem

Path to client's trusted CA certificates for TLS.

Usage: For validating server certificates when making outbound gRPC calls.

trafficparrot.virtualservice.grpc.clientPemUrl classpath:certificates/
grpc/client.pem

Path to client's certificate file for TLS.

Usage: Client certificate for mutual TLS authentication.

trafficparrot.virtualservice.grpc.clientKeyUrl classpath:certificates/
grpc/client.key

Path to client's private key file for TLS.

Usage: Client private key for mutual TLS authentication.

trafficparrot.virtualservice.grpc.clientOverrideAuthority foo.test.google.fr

Authority hostname override for client connections.

Use Case: Useful for testing with self-signed certificates or when hostname doesn't match certificate.

gRPC Threading Configuration

Property Name Default Value Description
trafficparrot.virtualservice.grpc.server.boss.threads DOUBLE_NUMBER_OF_
PROCESSORS

Number of Netty boss threads for gRPC server.

Values: DOUBLE_NUMBER_OF_PROCESSORS, NUMBER_OF_PROCESSORS, or specific integer

Performance: Boss threads handle connection acceptance.

trafficparrot.virtualservice.grpc.server.worker.threads DOUBLE_NUMBER_OF_
PROCESSORS

Number of Netty worker threads for gRPC server.

Values: DOUBLE_NUMBER_OF_PROCESSORS, NUMBER_OF_PROCESSORS, or specific integer

Performance: Worker threads handle I/O operations.

trafficparrot.virtualservice.grpc.server.receiveThreads DOUBLE_NUMBER_OF_
PROCESSORS

Number of threads for receiving gRPC messages.

Performance: Dedicated threads for message reception processing.

trafficparrot.virtualservice.grpc.server.sendThreads DOUBLE_NUMBER_OF_
PROCESSORS

Number of threads for sending gRPC messages.

Performance: Dedicated threads for message transmission processing.

gRPC Performance and Caching

Property Name Default Value Description
trafficparrot.virtualservice.grpc.server.replay.maxMessagesWaitingToBeSent 1000

Maximum number of messages that can wait in the send queue.

Performance: Higher values allow more message buffering but use more memory.

trafficparrot.virtualservice.grpc.server.replay.proto.cache.milliseconds 0

Duration in milliseconds for caching protobuf definitions.

Performance Profile: 1200000 (20 minutes)

Performance: Caching reduces file I/O for proto definitions.

trafficparrot.virtualservice.grpc.server.replay.proto.cache.populate.on.startup false

Whether to populate the proto cache during startup.

Performance Profile: true

Trade-off: Slower startup for faster runtime performance.

trafficparrot.virtualservice.grpc.server.warmup.on.startup true

Whether to warm up gRPC server components during startup.

Performance: Pre-initializes components for better first-request performance.

gRPC Message Processing

Property Name Default Value Description
trafficparrot.virtualservice.grpc.exclude.request.headers.from.matching content-type,
user-agent,
grpc-accept-encoding

Comma-separated list of headers to exclude from request matching.

Use Case: Excludes volatile headers that shouldn't affect stubbing behavior.

trafficparrot.virtualservice.grpc.message.field.naming CAMEL_CASE

Controls how protobuf field names are rendered in JSON.

Values:

  • ORIGINAL - Preserve proto field names (e.g., input_name)
  • CAMEL_CASE - Convert to camelCase (e.g., inputName)
trafficparrot.virtualservice.grpc.openapi2proto.plugin.location AUTO_DETECT

Location of the openapi2proto plugin binary.

Values:

  • AUTO_DETECT - Searches plugins directory, $PATH, and $HOME/go/bin
  • Specific path - e.g., C:\example\openapi2proto.exe

gRPC Schema Validation

Property Name Default Value Description
trafficparrot.virtualservice.grpc.check.mapping.schema.on.startup false

Whether to validate gRPC mappings against proto schemas during startup.

Use Case: Set to true to prevent startup with invalid mappings.

Example: Prevents startup if mapping references non-existent proto method.

trafficparrot.virtualservice.grpc.check.mapping.schema.allow.missing.fields false

Whether to allow mappings with missing fields during schema validation.

Dependencies: Works with check.mapping.schema.on.startup

Flexibility: When true, allows partial field coverage in mappings.

gRPC File Naming Templates

Property Name Default Value Description
trafficparrot.virtualservice.grpc.saved.mapping.file.name.template {{ mapping.package }}.
{{ countGrpcMappings
package=mapping.package
offset=1 format='%02d' }}.
{{ mapping.service }}-
{{ mapping.method }}[
{{ mapping.status.name }}]

Template for generating gRPC mapping file names.

Available properties: mapping.id, mapping.package, mapping.service, mapping.method, mapping.isSuccess, mapping.status.name, mapping.status.code

Available commands: countGrpcMappings with parameters for package, service, method, success, offset, format

trafficparrot.virtualservice.grpc.saved.mapping.file.name.collision.suffix.template -{{ mapping.id }}

Template for suffix when mapping file names collide.

Use Case: Appended when generated file name already exists.

Available properties: Same as main template plus additional Handlebars helpers.

OpenAPI Integration Properties

These properties control OpenAPI specification import, validation, and processing functionality.

Property Name Default Value Description
trafficparrot.openapi.import.mode MATCHING_RESPONSE_CODE

Controls how OpenAPI specifications are imported into WireMock mappings.

Values:

  • MATCHING_RESPONSE_CODE - Uses response status in request matchers convention
  • SKELETON - Templates the mapping with the request and response structure
  • SELECT_RESPONSE_STATUS - Uses generic matcher, relies on x-traffic-parrot-select-response-status header
trafficparrot.openapi.import.on.startup false

Whether OpenAPI specifications should be automatically imported during startup.

Use Case: Useful for automated environments to pre-load API specifications.

Dependencies: Requires OpenAPI files in the configured openapi directory.

trafficparrot.openapi.request.validation.mode OFF

Controls OpenAPI request validation behavior.

Values:

  • OFF - Turns off validation completely
  • DEFAULT_VALIDATION - Turns on validation and provides default responses when not annotated
  • ONLY_ANNOTATED - Turns on validation only for annotated specifications
trafficparrot.openapi.skeletons.mode SKELETON

Controls how skeleton mappings are generated from OpenAPI specifications.

Values: Same as trafficparrot.openapi.import.mode

Use Case: Specifically for generating template/skeleton responses rather than full imports.

trafficparrot.openapi.vendor.extension.prefix x-traffic-parrot

Defines the prefix for vendor-specific OpenAPI extensions used by Traffic Parrot.

Examples:

  • x-traffic-parrot-validation - Custom validation rules
  • x-traffic-parrot-select-response-status - Response selection headers

Critical: Required for validation system and custom extensions to work properly.

IBM MQ Native Integration Properties

These properties configure native IBM MQ integration including logging, performance monitoring, and startup automation.

Property Name Default Value Description
trafficparrot.ibmmq.logger.logMessageBody true

Controls whether IBM MQ message bodies are logged.

Performance Profile: false

Use Case: Enable for debugging message content, disable for performance.

trafficparrot.ibmmq.logger.logMessageBodyAsPrintableCharacters false

Controls whether message bodies are logged as printable characters only.

Use Case: When enabled, filters binary content to only printable characters for log readability.

trafficparrot.ibmmq.monitorPerformance false

Enables performance monitoring for IBM MQ operations.

Output: Logs "Total processing time" metrics for IBM MQ message processing.

Use Case: Enable for performance analysis and troubleshooting.

trafficparrot.ibmmq.skipHeadersInRequestMessageBodyWhenMatching true

Controls whether headers are included in request message body during matching.

Impact: When true, excludes RFH headers from message body content when matching requests to recorded mappings.

Use Case: Improves matching accuracy by ignoring volatile header content.

trafficparrot.ibmmq.start.queue.replay.on.startup.script (empty)

Path to script file for IBM MQ queue replay on startup.

Format: File path or classpath URL to script file

Example: classpath:start-ibmmq-queue-replay-on-startup.txt

Use Case: Automate IBM MQ queue replay operations when Traffic Parrot starts.

JMS System Simulation Properties

These properties configure JMS message simulation with replay capabilities and startup automation. JMS simulators (virtual services/API mocks) can simulate message queues and topics.

Property Name Default Value Description
trafficparrot.jms.start.queue.replay.on.startup false

Enables automatic JMS queue replay on startup.

Dependencies: Requires valid connection IDs for consumer and producer.

Use Case: Automate JMS message replay without manual intervention.

trafficparrot.jms.start.queue.replay.on.startup.consumeRequestsFromConnectionId <specify a connectionId from jms-connections.json>

Specifies connection ID for consuming JMS requests on startup.

Format: Valid connection ID from jms-connections.json

Performance Profile: not-used

Dependencies: Requires trafficparrot.jms.start.queue.replay.on.startup=true

trafficparrot.jms.start.queue.replay.on.startup.replayResponsesToConnectionId <specify a connectionId from jms-connections.json>

Specifies connection ID for sending JMS responses on startup.

Format: Valid connection ID from jms-connections.json

Performance Profile: not-used

Dependencies: Requires trafficparrot.jms.start.queue.replay.on.startup=true

Extension System Properties

These properties control Traffic Parrot's extensible architecture with customizable components for different protocols.

HTTP Extensions

Property Name Default Value Description
trafficparrot.http.handlebars.enabled true

Controls whether Handlebars template processing is enabled for HTTP responses.

Performance Profile: false

Dependencies: Works with trafficparrot.http.handlebars.helpers

trafficparrot.http.handlebars.helpers com.trafficparrot.http.handlebars.CsvDataFile,
com.trafficparrot.http.handlebars.HttpNow,
com.trafficparrot.http.handlebars.RandomDouble,
com.trafficparrot.http.handlebars.RandomInteger,
com.trafficparrot.http.handlebars.RandomString,
com.trafficparrot.http.handlebars.RandomUUID,
com.trafficparrot.handlebars.script.Evaluate

Comma-separated list of Handlebars helper class names for HTTP.

Available Helpers:

  • CsvDataFile - Reads data from CSV files using coordinates
  • HttpNow - Provides current date/time functionality
  • RandomDouble - Generates random double values
  • RandomInteger - Generates random integer values
  • RandomString - Generates random strings (up to 10,000 characters)
  • RandomUUID - Generates random UUIDs
  • Evaluate - Executes script expressions
trafficparrot.http.jwt.enabled true

Enables JWT (JSON Web Token) processing capabilities for HTTP.

Performance Profile: false

Use Case: For JWT token validation and processing in HTTP requests.

trafficparrot.http.modify.response.enabled true

Enables HTTP response modification capabilities.

Performance Profile: false

Use Case: Allows dynamic modification of HTTP responses before sending to clients.

trafficparrot.http.optionsResponse.enabled true

Enables automatic HTTP OPTIONS response handling.

Performance Profile: false

Use Case: Automatically handles CORS preflight requests.

trafficparrot.http.soap.message.signer.enabled true

Enables SOAP message signing capabilities.

Performance Profile: false

Use Case: For WS-Security SOAP message signing functionality.

trafficparrot.http.webhooks.enabled true

Enables webhook functionality for HTTP responses.

Performance Profile: false

Use Case: Allows HTTP responses to trigger outbound webhook calls.

Response Transformers

Property Name Default Value Description
trafficparrot.http.responsetransformers com.trafficparrot.virtualservice.extensions.responsetransformer.UpdateContentLengthTransformer

Comma-separated list of response transformer class names for HTTP simulator (mock)s.

Performance Profile: (empty)

Default Transformer: UpdateContentLengthTransformer - Automatically updates Content-Length headers to match response body size

Use Case: Custom transformation of HTTP responses before sending to clients. Transformers can modify response content, headers, status codes, and implement cross-cutting concerns like logging, monitoring, or security.

Examples:

  • Single: com.example.MyTransformer
  • Multiple: com.example.TransformerA,com.example.TransformerB
  • Disabled: (empty)
trafficparrot.jms.responsetransformers com.trafficparrot.messaging.jms.JmsPassthroughMessage

Comma-separated list of response transformer class names for JMS.

Performance Profile: (empty)

Default Transformer: JmsPassthroughMessage - Passes JMS messages through without modification

trafficparrot.ibmmq.responsetransformers (empty)

Comma-separated list of response transformer class names for IBM MQ.

Use Case: Custom transformation of IBM MQ messages before sending responses.

trafficparrot.file.responsetransformers (empty)

Comma-separated list of response transformer class names for file-based messaging.

Use Case: Custom transformation of file messages before processing.

Messaging Protocol Handlebars

Property Name Default Value Description
trafficparrot.jms.handlebars.enabled true

Controls Handlebars template processing for JMS messages.

Performance Profile: false

trafficparrot.jms.handlebars.helpers com.trafficparrot.http.handlebars.RandomDouble,
com.trafficparrot.http.handlebars.RandomInteger,
com.trafficparrot.http.handlebars.RandomString,
com.trafficparrot.http.handlebars.RandomUUID,
com.trafficparrot.handlebars.script.Evaluate

JMS-specific Handlebars helpers (excludes CSV and HTTP-specific helpers).

Performance Profile: (empty)

trafficparrot.ibmmq.handlebars.enabled true

Controls Handlebars template processing for IBM MQ messages.

Performance Profile: false

trafficparrot.ibmmq.handlebars.helpers com.trafficparrot.http.handlebars.RandomDouble,
com.trafficparrot.http.handlebars.RandomInteger,
com.trafficparrot.http.handlebars.RandomString,
com.trafficparrot.http.handlebars.RandomUUID,
com.trafficparrot.handlebars.script.Evaluate

IBM MQ-specific Handlebars helpers (same as JMS).

Performance Profile: (empty)

trafficparrot.file.handlebars.enabled true

Controls Handlebars template processing for file-based messaging.

Performance Profile: false

trafficparrot.file.handlebars.helpers com.trafficparrot.http.handlebars.RandomDouble,
com.trafficparrot.http.handlebars.RandomInteger,
com.trafficparrot.http.handlebars.RandomString,
com.trafficparrot.http.handlebars.RandomUUID,
com.trafficparrot.handlebars.script.Evaluate

File messaging-specific Handlebars helpers.

Performance Profile: (empty)

Enterprise Features

These properties configure enterprise-ready authentication, licensing, and monitoring capabilities.

Okta SSO Integration

Property Name Default Value Description
trafficparrot.okta.enabled false

Master switch to enable/disable Okta SSO functionality.

Impact: When enabled, adds OAuth2/OIDC authentication to the web UI.

Flow: Implements Authorization Code flow with session-based and Bearer token authentication.

trafficparrot.okta.clientId some_client_id

OAuth2 client identifier for the Traffic Parrot application registered in Okta.

Usage: Used in authorization URL construction and token exchange requests.

Required: Application will fail if not properly configured.

trafficparrot.okta.clientSecret some_client_secret

OAuth2 client secret for authenticating with Okta token endpoint.

Security: Combined with clientId for Basic Auth in token exchange.

Storage: Sensitive credential that should be securely stored.

trafficparrot.okta.oktaAuthorizeUri https://${yourOktaDomain}/
oauth2/default/v1/authorize

Okta authorization endpoint for OAuth2 Authorization Code flow.

Parameters: Includes client_id, response_type=code, scope=openid, redirect_uri, state

Format: Must be valid HTTPS URL pointing to Okta authorization server.

trafficparrot.okta.oktaTokenUri https://${yourOktaDomain}/
oauth2/default/v1/token

Okta token endpoint for exchanging authorization codes for access tokens.

Usage: HTTP POST request with grant_type=authorization_code, redirect_uri, code

Response: Extracts access_token for JWT validation.

trafficparrot.okta.oktaIssuerUri https://${yourOktaDomain}/
oauth2/default

Okta issuer URI for JWT token validation.

JWT Validation: Validates JWT 'iss' claim matches this value.

Security: Part of JWT signature verification process.

trafficparrot.okta.oktaAudience api://default

Expected audience claim in JWT access tokens.

JWT Validation: Validates JWT 'aud' claim contains this value.

Security: Ensures tokens are intended for this application.

trafficparrot.okta.oktaRedirectUri https://some-TP-deployment-uri

OAuth2 redirect URI where Okta returns authorization codes.

Configuration: Must match exactly what's configured in Okta application settings.

Usage: URL-encoded in authorization requests and token exchange requests.

License Management

Property Name Default Value Description
trafficparrot.license.usage.server DEFAULT

Specifies license server URL for on-premise license validation.

Values:

  • DEFAULT - Use default cloud-based licensing
  • host:port - HTTP license server
  • https://host:port - HTTPS license server

Use Case: For on-premise licenses with local license servers.

trafficparrot.license.usage.custom.headers NONE

Custom HTTP headers for license server communications.

Format: Comma-separated Key:Value pairs

Example: Authorization:Bearer token,Environment:Test

Use Case: Add authentication, routing, or other custom headers to license requests.

JMX Monitoring

Property Name Default Value Description
trafficparrot.virtualservice.jmx.enabled false

Enables JMX monitoring for the simulator simulator (virtual service/mock).

Use Case: Enable for remote monitoring and management using JMX tools.

MBeans: Exposes management beans for simulator simulator (virtual service/mock) monitoring.

trafficparrot.virtualservice.jmx.port 8084

Specifies the port for simulator (virtual service/mock) JMX connector.

Valid Range: 1-65535

Dependencies: Requires trafficparrot.virtualservice.jmx.enabled=true

Access: JMX management interface available on this port.

Performance Profile Considerations

Performance vs Functionality Trade-offs

Traffic Parrot includes a performance profile (trafficparrot.performance.properties) that optimizes many properties for high-load scenarios:

Disabled Features (Performance Mode)
  • Extension System: Most Handlebars helpers, response transformers, JWT processing
  • Logging: IBM MQ message body logging, request journaling
  • Advanced Features: SOAP signing, webhooks, automatic OPTIONS responses
Optimized Settings (Performance Mode)
  • Thread Pools: Increased container threads (500 vs 100)
  • Caching: Enabled mapping cache (10M ms), Handlebars cache (10K entries)
  • gRPC: Optimized proto caching and startup population
  • CSV Processing: Enabled indexing and caching for better performance
Recommendations
  • Development: Use standard configuration for full feature access
  • Testing: Standard configuration for comprehensive validation
  • Test Environment High-Load: Performance profile for maximum throughput
  • Test Environment Low-Load: Standard configuration with selective feature tuning

Performance Testing Guide

For comprehensive performance testing strategies, benchmarking techniques, and optimization tips, see our dedicated Performance Testing Guide.