Hi,
I'm trying to find some docs on how notifications work in Kill Bill. Is there a list of all defined notifications somewhere? I've found BeatrixListener which seems to be where internal events are converted into external events. The ExtBusEventType enum seems to list the possible event types?
We're looking into using web hooks for getting notifications to our webapp from the Kill Bill server. One concern we have is what happens if our webapp should be down. IIUC PushNotificationListener is the class which forwards ExtBusEvents to the registered web hooks. Am I right to assume that notifications that happens while the web hook cannot be reached are just discarded? The org.killbill.persistent.bus.${instancename}.max.failure.retry config property suggests that event delivery will be retried but PushNotificationListener doesn't throw any exception when a web hook fails.
Would we be better off writing a notification plugin that handles the reliable delivery of notifications (like storing to our own db which the webapp can then read or using a persistent Hazelcast queue or similar)? Has anyone else done something like this already?
Another thing about the java client APIs. We're using the KillBillClient class (0.2.0) but it doesn't seem to have any methods for listing and deleting notification callbacks? Also the endpoint for the DELETE endpoint in TenantResource looks incorrect:
@Timed
@DELETE
@Path("/REGISTER_NOTIFICATION_CALLBACK")
@ApiOperation(value = "Delete a push notification")
@ApiResponses(value = {@ApiResponse(code = 400, message = "Invalid tenantId supplied")})
public Response deletePushNotificationCallbacks(@PathParam("tenantId") final String tenantId,
I think the @Path should rather be
@Path("/" + REGISTER_NOTIFICATION_CALLBACK)
We're using 0.13.4 of killbill-jaxrs but this doesn't seem to have been fixed in HEAD.
Thanks!
Niklas