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 and 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

All Methods Instance Methods Concrete Methods
`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.MapMessage` `publish(Map<String,Object> map, 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)`

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

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

### Constructor Detail

#### 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 Detail

#### 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 `Closeable`
Specified by:
  `close` in interface `AutoCloseable`