Service
Services in layline.io provide integrations with external systems — databases, message queues, HTTP APIs, email servers, and more. You configure services through Service Assets in the UI, then access them in JavaScript via the services object.
Available service types include JDBC, HTTP, Email, Cassandra, Hazelcast, Aerospike, and more.
At a Glance
// Access a configured service
const dbService = services.MyDBService;
const emailService = services.EmailService;
// Open a connection (for connection-based services like JDBC)
const connection = dbService.openConnection();
// Call service functions
const result = connection.MyQuery({ id: '123' });
Accessing Services
Services linked to your JavaScript Asset are available through the services object using their configured names.
// In your JavaScript Asset configuration, you linked:
// - MyDBService (JDBC Service)
// - EmailService (Email Service)
const db = services.MyDBService;
const mail = services.EmailService;
Connection-Based Services
Some services (like JDBC) provide connections that support transactions:
let connection = null;
export function onStreamStart() {
if (!connection) {
connection = services.MyDBService.openConnection();
}
connection.beginTransaction();
}
export function onCommit() {
connection.commitTransaction();
connection.closeConnection();
connection = null;
}
See Connection for full details on transactions and function calls.
Direct Services
Some services (like HTTP, Email) don't use connections — you call methods directly:
// Send email
services.EmailService.Send({
subject: 'System Alert',
body: 'Processing completed.'
});
See Email for email-specific options.
See Also
Connection— Connection lifecycle and transactionsEmail— Email service methodsTimerService— Timer scheduling service