Show TOC Start of Content Area

This graphic is explained in the accompanying text Topic Publisher Example  Locate the document in its SAP Library structure

import javax.jms.*;

import java.util.Properties;

import javax.naming.*;

 

/**

 * An example class that represents a producer to a Topic.

 */

public class Producer {

   private static final String USER = "Administrator";

   private static final String PASSWORD = "admin_pass";

   private static final String SAP_NAMING_PROVIDER_URL = "localhost:50004";

   private static final String SAP_INITIAL_CONTEXT_FACTORY_IMPL =

      "com.sap.engine.services.jndi.InitialContextFactoryImpl";

 

   TopicConnectionFactory topicConnectionFactory = null;

   TopicConnection topicConnection = null;

   Topic topic = null;

   TopicSession topicSession = null;

   TopicPublisher topicPublisher = null;

 

   /**

    * Get InitialContext with default values.

    */

   private InitialContext getInitialContext() {

      try {

         // set the properties for the InitalContext

         Properties properties = new Properties();

         properties.put(

            Context.INITIAL_CONTEXT_FACTORY,

            SAP_INITIAL_CONTEXT_FACTORY_IMPL);

         properties.put(Context.PROVIDER_URL, SAP_NAMING_PROVIDER_URL);

         properties.put(Context.SECURITY_PRINCIPAL, USER);

         properties.put(Context.SECURITY_CREDENTIALS, PASSWORD);

 

         // initalize and return the InitalContext with the specified properties

         return new InitialContext(properties);

 

      } catch (NamingException ne) {

         System.out.println("NamingException: " + ne);

      }

 

      return null;

   }

 

   /**

    * Initialize JMS.

    */

   private void initJMS() {

      try {

         InitialContext context = getInitialContext();

 

         // look up the TopicConnectionFactory

         topicConnectionFactory =

            (TopicConnectionFactory) context.lookup(

               " jmsfactory/default/TopicConnectionFactory");

 

         // create topic connection

         topicConnection = topicConnectionFactory.createTopicConnection();

 

         // start the connection

         topicConnection.start();

 

      } catch (NamingException ne) {

         System.out.println("NamingException : " + ne);

      } catch (JMSException jmse) {

         System.out.println("JMSException : " + jmse);

      }

   }

 

   /**

    * Closes all resorces used in this test. This should be called

     * when you want to finish using JMS.

    */

   private void closeJMS() {

      try {

 

         //close the jms topic session

         topicSession.close();

 

         //close the jms topic connection

         topicConnection.close();

 

      } catch (JMSException jmse) {

         System.out.println("JMSException: " + jmse);

      }

   }

 

   /**

    * Create a topic connection and a session.

    * Then use the session to create a topic publisher.

    */

   public void aMethod() {

      try {

 

         // initializes all important JMS data

         initJMS();

 

         // create topic session

         topicSession = topicConnection.createTopicSession(false, 1);

 

         // create topic destination

         topic = topicSession.createTopic("ExampleTopic");

 

         // create topic publisher

         topicPublisher = topicSession.createPublisher(topic);

 

         /**

          * Publish some messages.

          */

 

         // Closes all resources used in this test.

         closeJMS();

 

      } catch (JMSException jmse) {

         System.out.println("JMSException : " + jmse);

      }

   }

 

}

 

 

End of Content Area