public Message publishMessage(Channel fromChannel, AsyncMessage message) { if (getGravity() == null) return new ErrorMessage(message, new IllegalStateException("Gravity EJB not yet ready")); return getGravity().publishMessage(fromChannel, message); } public Message sendRequest(Channel fromChannel, AsyncMessage message) {
public Message publishMessage(Channel fromChannel, AsyncMessage message) { // Should probably throw an exception, not intended to be used through the proxy Gravity gravity = getGravity(); if (gravity == null) return new ErrorMessage(message, new IllegalStateException("Gravity not initialized")); return getGravity().publishMessage(fromChannel, message); }
@Override public void publishUpdate(Map<String, Object> params, Object body) { AsyncMessage message = new AsyncMessage(); message.setDestination(topicName); for (Entry<String, Object> hh : params.entrySet()) message.setHeader(hh.getKey(), hh.getValue()); message.setBody(body); Message resultMessage = null; if (clientId != null) { Channel channel = gravity.findChannelByClientId(clientId); message.setClientId(clientId); resultMessage = gravity.publishMessage(channel, message); } else resultMessage = gravity.publishMessage(message); if (resultMessage instanceof ErrorMessage) log.error("Could not dispatch data update on topic %s, message %s", topicName, resultMessage.toString()); else log.debug("Data message dispatched on topic %s", topicName); } }