Classes | Public Member Functions

com.cosylab.acs.jms.ACSJMSTopicPublisher Class Reference

Inheritance diagram for com.cosylab.acs.jms.ACSJMSTopicPublisher:
com.cosylab.acs.jms.ACSJMSProducer

List of all members.

Classes

class  PublisherPoolItem

Public Member Functions

 ACSJMSTopicPublisher (Topic topic, ContainerServicesBase containerServices) throws JMSException
Topic getTopic () throws JMSException
void publish (Message message) throws JMSException
void publish (Message message, int deliveryMode, int priority, long timeToLive) throws JMSException
void publish (Topic topic, Message message) throws JMSException
void publish (Topic topic, Message message, int deliveryMode, int priority, long timeToLive) throws JMSException
void close () throws JMSException
void send (Message message) throws JMSException

Detailed Description

To avoid creating a CorbaPublisher for each message to publish, an pool of CorbaPublisher has been introduced by means of a HashMap. The key of the HasMap is the name of the NC. To made the publisher reusable for all the topics, the HashMap is static.

The DefaultPublisherImpl instantiates an object of this class and publishes messages passing the topic i.e. it never calls the method without topic. In particular it calls:

For our point of view the two methods have the same functioning because we do not use the deliveryMode, priority and timeToLive at least for now ;-)

See also:
cern.cmw.mom.pubsub.impl.DefaultPublisherImpl
Author:
kzagar

Constructor & Destructor Documentation

com.cosylab.acs.jms.ACSJMSTopicPublisher.ACSJMSTopicPublisher ( Topic  topic,
ContainerServicesBase  containerServices 
) throws JMSException

Constructor

Parameters:
topic The topic to publish messages into
containerServices The container service
Exceptions:
JMSException In case of error building the SimpleSupplier

References com.cosylab.acs.jms.ACSJMSProducer.containerServices.


Member Function Documentation

void com.cosylab.acs.jms.ACSJMSTopicPublisher.close (  )  throws JMSException
Topic com.cosylab.acs.jms.ACSJMSTopicPublisher.getTopic (  )  throws JMSException
void com.cosylab.acs.jms.ACSJMSTopicPublisher.publish ( Message  message  )  throws JMSException

Publish a message in the topic

The topic is the topic whose name has been passed in the constructor. However for this implementation there is no difference when the topic has been built because all the topics are in the pool. The name of the topic built in the constructor can be accessed through the topicName field.

See also:
javax.jms.TopicPublisher.publish(javax.jms.Message)

Referenced by com.cosylab.acs.jms.ACSJMSTopicPublisher.publish(), and com.cosylab.acs.jms.ACSJMSTopicPublisher.send().

void com.cosylab.acs.jms.ACSJMSTopicPublisher.publish ( Topic  topic,
Message  message,
int  deliveryMode,
int  priority,
long  timeToLive 
) throws JMSException
void com.cosylab.acs.jms.ACSJMSTopicPublisher.publish ( Topic  topic,
Message  message 
) throws JMSException
void com.cosylab.acs.jms.ACSJMSTopicPublisher.publish ( Message  message,
int  deliveryMode,
int  priority,
long  timeToLive 
) throws JMSException
void com.cosylab.acs.jms.ACSJMSTopicPublisher.send ( Message  message  )  throws JMSException

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Enumerations Properties