protected ReliableTopicMBean(ReliableTopicProxy managedObject, ManagementService service) { super(managedObject, service); objectName = service.createObjectName("ReliableTopic", managedObject.getName()); }
ReliableMessageRunner(String id, ReliableMessageListener<E> listener, SerializationService serializationService, Executor executor, ILogger logger, ClusterService clusterService, ReliableTopicProxy<E> proxy) { super(id, listener, proxy.ringbuffer, proxy.getName(), proxy.topicConfig.getReadBatchSize(), serializationService, executor, proxy.runnersMap, logger); this.clusterService = clusterService; this.proxy = proxy; }
ReliableMessageRunner(String id, ReliableMessageListener<E> listener, SerializationService serializationService, Executor executor, ILogger logger, ClusterService clusterService, ReliableTopicProxy<E> proxy) { super(id, listener, proxy.ringbuffer, proxy.getName(), proxy.topicConfig.getReadBatchSize(), serializationService, executor, proxy.runnersMap, logger); this.clusterService = clusterService; this.proxy = proxy; }
protected ReliableTopicMBean(ReliableTopicProxy managedObject, ManagementService service) { super(managedObject, service); objectName = service.createObjectName("ReliableTopic", managedObject.getName()); }
@ManagedAnnotation("name") @ManagedDescription("Name of the DistributedObject") public String getName() { return managedObject.getName(); }
@ManagedAnnotation("name") @ManagedDescription("Name of the DistributedObject") public String getName() { return managedObject.getName(); }
private void addOrFail(ReliableTopicMessage message) throws Exception { long sequenceId = ringbuffer.addAsync(message, OverflowPolicy.FAIL).get(); if (sequenceId == -1) { throw new TopicOverloadException("Failed to publish message: " + message + " on topic:" + getName()); } }
private void addOrFail(ReliableTopicMessage message) throws Exception { long sequenceId = ringbuffer.addAsync(message, OverflowPolicy.FAIL).get(); if (sequenceId == -1) { throw new TopicOverloadException("Failed to publish message: " + message + " on topic:" + getName()); } }
@ManagedAnnotation("config") public String getConfig() { Config config = service.instance.getConfig(); ReliableTopicConfig topicConfig = config.findReliableTopicConfig(managedObject.getName()); return topicConfig.toString(); } }
@ManagedAnnotation("config") public String getConfig() { Config config = service.instance.getConfig(); ReliableTopicConfig topicConfig = config.findReliableTopicConfig(managedObject.getName()); return topicConfig.toString(); } }
@Override public void publish(E payload) { try { Data data = nodeEngine.toData(payload); ReliableTopicMessage message = new ReliableTopicMessage(data, thisAddress); switch (overloadPolicy) { case ERROR: addOrFail(message); break; case DISCARD_OLDEST: addOrOverwrite(message); break; case DISCARD_NEWEST: ringbuffer.addAsync(message, OverflowPolicy.FAIL).get(); break; case BLOCK: addWithBackoff(message); break; default: throw new IllegalArgumentException("Unknown overloadPolicy:" + overloadPolicy); } localTopicStats.incrementPublishes(); } catch (Exception e) { throw (RuntimeException) peel(e, null, "Failed to publish message: " + payload + " to topic:" + getName()); } }
@Override public void publish(E payload) { try { Data data = nodeEngine.toData(payload); ReliableTopicMessage message = new ReliableTopicMessage(data, thisAddress); switch (overloadPolicy) { case ERROR: addOrFail(message); break; case DISCARD_OLDEST: addOrOverwrite(message); break; case DISCARD_NEWEST: ringbuffer.addAsync(message, OverflowPolicy.FAIL).get(); break; case BLOCK: addWithBackoff(message); break; default: throw new IllegalArgumentException("Unknown overloadPolicy:" + overloadPolicy); } localTopicStats.incrementPublishes(); } catch (Exception e) { throw (RuntimeException) peel(e, null, "Failed to publish message: " + payload + " to topic:" + getName()); } }