Java tutorial
/* * Copyright LGPL3 * YES Technology Association * http://yestech.org * * http://www.opensource.org/licenses/lgpl-3.0.html */ /* * * Author: Artie Copeland * Last Modified Date: $DateTime: $ */ package org.yestech.notify.service; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Required; import org.terracotta.message.pipe.Pipe; import org.terracotta.modules.annotations.Root; import org.yestech.lib.xml.XmlUtils; import org.yestech.notify.objectmodel.INotificationJob; /** * A producer that publishes to a Terracotta Pipe. * * @author Artie Copeland * @version $Revision: $ */ @SuppressWarnings("unchecked") public class TerracottaNotificationProducer implements INotificationProducer { final private static Logger logger = LoggerFactory.getLogger(TerracottaNotificationProducer.class); @Root private Pipe pipe; public Pipe getPipe() { return pipe; } @Required public void setPipe(Pipe pipe) { this.pipe = pipe; } @Override public void send(INotificationJob notificationJob) { final String notificationXml = XmlUtils.toXml(notificationJob); try { pipe.put(notificationXml); } catch (InterruptedException e) { logger.error(e.getMessage(), e); throw new RuntimeException(e); } } }