private Message<E> toMessage(ReliableTopicMessage m) { Member member = getMember(m); E payload = serializationService.toObject(m.getPayload()); return new Message<E>(topicName, payload, m.getPublishTime(), member); }
@Override protected Member getMember(ReliableTopicMessage m) { Member member = null; if (m.getPublisherAddress() != null) { member = new com.hazelcast.client.impl.MemberImpl(m.getPublisherAddress(), MemberVersion.UNKNOWN); } return member; }
@Override public IdentifiedDataSerializable create(int typeId) { switch (typeId) { case PUBLISH: return new PublishOperation(); case TOPIC_EVENT: return new TopicEvent(); case RELIABLE_TOPIC_MESSAGE: return new ReliableTopicMessage(); default: return null; } } };
@Override public IdentifiedDataSerializable create(int typeId) { switch (typeId) { case PUBLISH: return new PublishOperation(); case TOPIC_EVENT: return new TopicEvent(); case RELIABLE_TOPIC_MESSAGE: return new ReliableTopicMessage(); default: return null; } } };
private Message<E> toMessage(ReliableTopicMessage m) { Member member = getMember(m); E payload = serializationService.toObject(m.getPayload()); return new Message<E>(topicName, payload, m.getPublishTime(), member); }
@Override public void publish(E payload) { try { Data data = serializationService.toData(payload); ReliableTopicMessage message = new ReliableTopicMessage(data, null); 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); } } catch (Exception e) { throw (RuntimeException) peel(e, null, "Failed to publish message: " + payload + " to topic:" + getName()); } }
@Override protected Member getMember(ReliableTopicMessage m) { Member member = null; if (m.getPublisherAddress() != null) { member = new com.hazelcast.client.impl.MemberImpl(m.getPublisherAddress(), MemberVersion.UNKNOWN); } return member; }
@Override public void publish(E payload) { try { Data data = serializationService.toData(payload); ReliableTopicMessage message = new ReliableTopicMessage(data, null); 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); } } catch (Exception e) { throw (RuntimeException) peel(e, null, "Failed to publish message: " + payload + " to topic:" + getName()); } }
@Override protected Member getMember(ReliableTopicMessage m) { return clusterService.getMember(m.getPublisherAddress()); }
@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 protected Member getMember(ReliableTopicMessage m) { return clusterService.getMember(m.getPublisherAddress()); }
@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()); } }