OSMQ
v2.0.1

osmq.clients
Class PublisherBean

java.lang.Object
  extended byosmq.clients.PublisherBase
      extended byosmq.clients.PublisherBean
All Implemented Interfaces:
ClientAdapter, ExceptionListener, Publisher
Direct Known Subclasses:
BatchPublisher, ThreadedPublisherBean

public class PublisherBean
extends osmq.clients.PublisherBase
implements Publisher, ExceptionListener

A class used by client applications to write messages.

The PublisherBean dynamically locates and connects to a message broker. Once connected, the PublisherBean supports sending messages to a named recipient, or publishing anonymous topical messages that can be received by multiple subscribers.


Constructor Summary
PublisherBean()
           
PublisherBean(PubConnectionHandler handler)
           
PublisherBean(RemoteService si)
           
 
Method Summary
 void close()
          Closes the publisher's connection to the message broker.
 void commit()
           Transmits all messages that were published since the last call to commit() or rollback().
 java.lang.String getBrokerName()
          Returns the name of the remote message broker for this session.
 java.lang.String getClientID()
          Returns the client identifier used by this session to communicate with the message broker.
 long getCommitTransactionCount()
           
 long getConnectionPublishedCount()
          Returns the total number of messages that have been published by all MessagePublishers.
 ExceptionListener getExceptionListener()
          Return the ExceptionListener that will be notified when there is an exception due to an inability to connect with the broker, or due to an I/O or communications failure.
 java.lang.String getHostName()
          Returns the message broker's host address as a DNS host name or IP address.
 int getPortID()
          Returns the port id that will be used to connect to the message broker.
 long getPublishedCount()
          Returns the number of messages that have been published by this MessagePublisher.
 boolean isAutoCommit()
          Returns true if the publisher is in auto-commit mode.
 boolean isOpen()
          Returns true if the message publisher has not been closed.
 boolean isThreaded()
           
 void onException(java.lang.Exception e)
          Notify user of an exception.
 void open()
          Locates and connects to the remote message broker, and performs the necessary publisher authentication.
 void publish(Message v)
          Performs a logical write of a Message object to the message broker.
 void rollback()
           Discards all messages that were published since the last call to commit() or rollback().
 void setAutoCommit(boolean autocommit)
          Turns on or off the autocommitment of published messages to the message broker.
 void setBrokerName(java.lang.String broker)
          Defines the named message broker to use for message processing (sending and receiving).
 void setClientID(java.lang.String id)
          Sets the identity of the application as a message originator (publisher)
 void setExceptionListener(ExceptionListener listener)
          Sets an ExceptionListener that will be notified when there is an exception due to an inability to connect with the broker, or due to an I/O or communications failure.
 void setHostName(java.lang.String hostname)
          Overrides the host name / IP address of the remote server;
 void setPortID(int port)
          Overrides the port id of the remote server;
 void setThreaded(boolean threaded)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface osmq.clients.Publisher
commit, getConnectionPublishedCount, getPublishedCount, isOpen, publish, rollback
 

Constructor Detail

PublisherBean

public PublisherBean()

PublisherBean

public PublisherBean(PubConnectionHandler handler)

PublisherBean

public PublisherBean(RemoteService si)
Method Detail

setThreaded

public void setThreaded(boolean threaded)
Specified by:
setThreaded in interface Publisher

isThreaded

public boolean isThreaded()
Specified by:
isThreaded in interface Publisher

onException

public void onException(java.lang.Exception e)
Description copied from interface: ExceptionListener
Notify user of an exception.

Specified by:
onException in interface ExceptionListener

open

public void open()
          throws java.io.IOException
Description copied from interface: Publisher
Locates and connects to the remote message broker, and performs the necessary publisher authentication.

Specified by:
open in interface Publisher
Throws:
java.io.IOException

close

public void close()
Closes the publisher's connection to the message broker. Note that once the MessagePublisher has been closed, any subsequent calls to publish(WritableMessage) will result in an IOException being thrown.

Specified by:
close in interface Publisher

setClientID

public void setClientID(java.lang.String id)
Sets the identity of the application as a message originator (publisher)

Specified by:
setClientID in interface Publisher
Parameters:
id - a unique name identifying the client application to the message broker.

getClientID

public java.lang.String getClientID()
Returns the client identifier used by this session to communicate with the message broker.

Specified by:
getClientID in interface Publisher

setBrokerName

public void setBrokerName(java.lang.String broker)
Defines the named message broker to use for message processing (sending and receiving). Generally, this method should not be called. Rather, the default broker should be used, especially in a production environment.

Specified by:
setBrokerName in interface Publisher

getBrokerName

public java.lang.String getBrokerName()
Returns the name of the remote message broker for this session.

Specified by:
getBrokerName in interface Publisher

setPortID

public void setPortID(int port)
Overrides the port id of the remote server;

NOTE: Normally this method should NOT be called by the client application.

Specified by:
setPortID in interface Publisher

getPortID

public int getPortID()
Description copied from interface: Publisher
Returns the port id that will be used to connect to the message broker. A value of 0 indicates that dynamic discovery will be used to identify the broker port.

Specified by:
getPortID in interface Publisher

setHostName

public void setHostName(java.lang.String hostname)
Overrides the host name / IP address of the remote server;

NOTE: Normally this method should NOT be called by the client application.

Specified by:
setHostName in interface Publisher

getHostName

public java.lang.String getHostName()
Description copied from interface: Publisher
Returns the message broker's host address as a DNS host name or IP address. This is the name that was set by the application. A value of null indicates that dynamic discovery will be used to identify the host address.

Specified by:
getHostName in interface Publisher

setExceptionListener

public void setExceptionListener(ExceptionListener listener)
Sets an ExceptionListener that will be notified when there is an exception due to an inability to connect with the broker, or due to an I/O or communications failure.

Specified by:
setExceptionListener in interface Publisher

getExceptionListener

public ExceptionListener getExceptionListener()
Return the ExceptionListener that will be notified when there is an exception due to an inability to connect with the broker, or due to an I/O or communications failure.

Specified by:
getExceptionListener in interface Publisher

setAutoCommit

public void setAutoCommit(boolean autocommit)
                   throws java.io.IOException
Turns on or off the autocommitment of published messages to the message broker.

When autocommit is ON, each message that is published gets transmitted to the message broker for distribution.

When autocommit is OFF, the user must call commit() to send published messages to the broker. Published messages that have not been committed can be discarded by a call to the method rollback().

The commit() method transmits all messages that were published since the last call to commit() or rollback().

NOTE: The default mode is autocommit ON.

Specified by:
setAutoCommit in interface Publisher
Throws:
java.io.IOException - an attempt to set autocommit to true when there are messages that have been published but not commited or rolled back.
See Also:
PublisherBase.commit(), PublisherBase.rollback()

isAutoCommit

public boolean isAutoCommit()
Description copied from interface: Publisher
Returns true if the publisher is in auto-commit mode.

Specified by:
isAutoCommit in interface Publisher

getPublishedCount

public long getPublishedCount()
Returns the number of messages that have been published by this MessagePublisher.


getConnectionPublishedCount

public long getConnectionPublishedCount()
Returns the total number of messages that have been published by all MessagePublishers.


rollback

public void rollback()
              throws java.io.IOException

Discards all messages that were published since the last call to commit() or rollback(). This method is available when autocommit mode is OFF.

Throws:
java.io.IOException - autocommit mode is ON
See Also:
PublisherBase.commit(), PublisherBase.setAutoCommit(boolean)

commit

public void commit()
            throws java.io.IOException,
                   MessageException

Transmits all messages that were published since the last call to commit() or rollback(). This method is available when autocommit mode is OFF.

Throws:
java.io.IOException - autocommit mode is ON
MessageException
See Also:
PublisherBase.rollback(), PublisherBase.setAutoCommit(boolean)

getCommitTransactionCount

public long getCommitTransactionCount()

publish

public void publish(Message v)
             throws java.io.IOException,
                    MessageException
Performs a logical write of a Message object to the message broker. The message broker will use the header information to determine whether the message should be routed to all subscribers of the topic (if topic is set and recipient is empty), or only to a single recipient (if the recipient id has been set).

The physical write to the broker may not coincide with the logical write, depending on whether autocommit has been enabled.

Throws:
java.io.IOException - if MessagePublisher has been closed or message coult not be written to the broker.
MessageException
See Also:
PublisherBase.isAutoCommit(), PublisherBase.commit(), PublisherBase.rollback()

isOpen

public boolean isOpen()
Returns true if the message publisher has not been closed.

See Also:
PublisherBase.close()

(c) 2000 - 2003 MQue Systems
All Rights Reserved