Package org.apache.jmeter.protocol.jms.client

# Class Publisher

java.lang.Object
org.apache.jmeter.protocol.jms.client.Publisher

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`

public class Publisher extends Object implements Closeable

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Publisher(boolean useProps, String initialContextFactory, String providerUrl, String connfactory, String destinationName, boolean useAuth, String securityPrincipal, String securityCredentials)`
  Create a publisher using either the jndi.properties file or the provided parameters.
  `Publisher(boolean useProps, String initialContextFactory, String providerUrl, String connfactory, String destinationName, boolean useAuth, String securityPrincipal, String securityCredentials, boolean staticDestination)`
  Create a publisher using either the jndi.properties file or the provided parameters

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  Close will close the session
  `javax.jms.Message`
  `publish(byte[] bytes, String destinationName, Map<String,Object> properties, int deliveryMode, int priority, long expiration)`
  `javax.jms.Message`
  `publish(Serializable contents, String destinationName, Map<String,Object> properties, int deliveryMode, int priority, long expiration)`
  `javax.jms.Message`
  `publish(String text, String destinationName, Map<String,Object> properties, int deliveryMode, int priority, long expiration)`
  `javax.jms.MapMessage`
  `publish(Map<String,Object> map, String destinationName, Map<String,Object> properties, int deliveryMode, int priority, long expiration)`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### Publisher

    public Publisher(boolean useProps, String initialContextFactory, String providerUrl, String connfactory, String destinationName, boolean useAuth, String securityPrincipal, String securityCredentials) throws javax.jms.JMSException, NamingException
    Create a publisher using either the jndi.properties file or the provided parameters. Uses a static destination and persistent messages(for backward compatibility)
    Parameters:
      `useProps` - true if a jndi.properties file is to be used
      `initialContextFactory` - the (ignored if useProps is true)
      `providerUrl` - (ignored if useProps is true)
      `connfactory` - name of the object factory to look up in context
      `destinationName` - name of the destination to use
      `useAuth` - (ignored if useProps is true)
      `securityPrincipal` - (ignored if useProps is true)
      `securityCredentials` - (ignored if useProps is true)
    Throws:
      `javax.jms.JMSException` - if the context could not be initialised, or there was some other error
      `NamingException` - when creation of the publisher fails

  - ### Publisher

    public Publisher(boolean useProps, String initialContextFactory, String providerUrl, String connfactory, String destinationName, boolean useAuth, String securityPrincipal, String securityCredentials, boolean staticDestination) throws javax.jms.JMSException, NamingException
    Create a publisher using either the jndi.properties file or the provided parameters
    Parameters:
      `useProps` - true if a jndi.properties file is to be used
      `initialContextFactory` - the (ignored if useProps is true)
      `providerUrl` - (ignored if useProps is true)
      `connfactory` - name of the object factory to lookup in context
      `destinationName` - name of the destination to use
      `useAuth` - (ignored if useProps is true)
      `securityPrincipal` - (ignored if useProps is true)
      `securityCredentials` - (ignored if useProps is true)
      `staticDestination` - true if the destination is not to change between loops
    Throws:
      `javax.jms.JMSException` - if the context could not be initialised, or there was some other error
      `NamingException` - when creation of the publisher fails

- ## Method Details

  - ### publish

    public javax.jms.Message publish(String text, String destinationName, Map<String,Object> properties, int deliveryMode, int priority, long expiration) throws javax.jms.JMSException, NamingException
    Throws:
      `javax.jms.JMSException`
      `NamingException`

  - ### publish

    public javax.jms.Message publish(Serializable contents, String destinationName, Map<String,Object> properties, int deliveryMode, int priority, long expiration) throws javax.jms.JMSException, NamingException
    Throws:
      `javax.jms.JMSException`
      `NamingException`

  - ### publish

    public javax.jms.Message publish(byte[] bytes, String destinationName, Map<String,Object> properties, int deliveryMode, int priority, long expiration) throws javax.jms.JMSException, NamingException
    Throws:
      `javax.jms.JMSException`
      `NamingException`

  - ### publish

    public javax.jms.MapMessage publish(Map<String,Object> map, String destinationName, Map<String,Object> properties, int deliveryMode, int priority, long expiration) throws javax.jms.JMSException, NamingException
    Throws:
      `javax.jms.JMSException`
      `NamingException`

  - ### close

    public void close()
    Close will close the session
    Specified by:
      `close` in interface `AutoCloseable`
    Specified by:
      `close` in interface `Closeable`