# 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
`Message`
`publish(byte[] bytes, String destinationName, Map<String,Object> properties, int deliveryMode, int priority, long expiration)`
`Message`
`publish(Serializable contents, String destinationName, Map<String,Object> properties, int deliveryMode, int priority, long expiration)`
`Message`
`publish(String text, String destinationName, Map<String,Object> properties, int deliveryMode, int priority, long expiration)`
`MapMessage`
`publish(Map<String,Object> map, String destinationName, Map<String,Object> properties, int deliveryMode, int priority, long expiration)`

### Methods inherited from class 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 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)

### Publisher

public Publisher(boolean useProps, String initialContextFactory, String providerUrl, String connfactory, String destinationName, boolean useAuth, String securityPrincipal, String securityCredentials, boolean staticDestination) throws 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

## Method Details

### publish

public Message publish(String text, String destinationName, Map<String,Object> properties, int deliveryMode, int priority, long expiration) throws JMSException, NamingException

Throws:
  `JMSException`
  `NamingException`

### publish

public Message publish(Serializable contents, String destinationName, Map<String,Object> properties, int deliveryMode, int priority, long expiration) throws JMSException, NamingException

Throws:
  `JMSException`
  `NamingException`

### publish

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

Throws:
  `JMSException`
  `NamingException`

### publish

public MapMessage publish(Map<String,Object> map, String destinationName, Map<String,Object> properties, int deliveryMode, int priority, long expiration) throws JMSException, NamingException

Throws:
  `JMSException`
  `NamingException`

### close

public void close()
Close will close the session

Specified by:
  `close` in interface `AutoCloseable`
Specified by:
  `close` in interface `Closeable`