forked from nicdex/node-eventstore-client
7 changed files with 93 additions and 26 deletions
@ -0,0 +1,62 @@
|
||||
const client = require('../src/client'); // RWM: Import from npm installed package rather than from src
|
||||
//const client = require("node-eventstore-client");
|
||||
|
||||
const resolveLinkTos = true; |
||||
|
||||
function resumeEvent(event) { |
||||
return [ |
||||
event.originalEvent.eventType, |
||||
[event.originalEventNumber.toNumber(), event.originalStreamId].join('@'), |
||||
event.originalPosition |
||||
].join(" ") |
||||
} |
||||
|
||||
const eventAppeared = (subscription, event) => console.log("Event received", resumeEvent(event)); |
||||
|
||||
const subscriptionDropped = (subscription, reason, error) => console.log("Subscription dropped", reason, error); |
||||
|
||||
const libeProcessingStarted = () => console.log("Live processing started."); |
||||
|
||||
const credentials = new client.UserCredentials("admin", "changeit"); |
||||
|
||||
const settings = { |
||||
maxReconnections: 10, |
||||
reconnectionDelay: 1000, // RWM: slow down the reconnection attempts. 10 seconds to restore connection.
|
||||
}; |
||||
if (process.env.ENABLE_LOGGING) settings.log = console; |
||||
if (process.env.VERBOSE) settings.verboseLogging = true; |
||||
const endpoint = "tcp://localhost:1113"; |
||||
const connection = client.createConnection(settings, endpoint); |
||||
|
||||
connection.connect().catch(err => console.log("Connection failed", err)); |
||||
|
||||
connection.on('heartbeatInfo', heartbeatInfo => |
||||
console.log('Heartbeat latency', heartbeatInfo.responseReceivedAt - heartbeatInfo.requestSentAt, 'ms') |
||||
); |
||||
|
||||
connection.once("connected", tcpEndPoint => { |
||||
console.log(`Connected to eventstore at ${tcpEndPoint.host}:${tcpEndPoint.port}`); |
||||
// RWM: subscribe Stream instead of All
|
||||
connection.subscribeToStreamFrom( |
||||
"test", // RWM: Stream to subscribe to
|
||||
null, |
||||
resolveLinkTos, |
||||
eventAppeared, |
||||
libeProcessingStarted, |
||||
subscriptionDropped, |
||||
credentials |
||||
); |
||||
}); |
||||
|
||||
connection.on("error", error => |
||||
console.log(`Error occurred on connection: ${error}`) |
||||
) |
||||
|
||||
connection.on("closed", reason => |
||||
console.log(`Connection closed, reason: ${reason}`) |
||||
) |
||||
|
||||
// RWM: Handle the reconnecting event, for better awareness of what's happening
|
||||
connection.on("reconnecting", msg => |
||||
console.log(`Reconnecting, msg: ${JSON.stringify(msg, null, 4)}`) |
||||
) |
Loading…
Reference in new issue