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`