/* * Copyright (C) 2003 Peter Jonathan Klauser. All rights reserved. * * This software is published under the terms of the Jumpi Software * License version 1.1, a copy of which has been included with this * distribution in the LICENSE-jumpi.txt file. * */ package org.jumpi.examples.jms; import org.jumpi.Destination; import org.jumpi.Handle; import org.jumpi.Jumpi; import org.jumpi.examples.JumpiClientApplication; import org.jumpi.examples.JumpiClientApplicationRunner; import java.util.Hashtable; /** * Send a single serialized message over JMS synchronously, non-transactionaly, * reliably, guarranteed, once-only-delivery. */ public class Producer implements JumpiClientApplication { /** The runner. */ JumpiClientApplicationRunner runner_ = null; /** * Set the runner. * * @param runner the runner. */ public void setJumpiClientApplicationRunner( JumpiClientApplicationRunner runner) { runner_ = runner; } /** * Return the configuration values to use in doWork(). * * @return the configuration values to use. */ public Hashtable getConfiguration() { Hashtable config = new Hashtable(); config.put("org.jumpi.configurationloader", "org.jumpi.impl.ConfigurationLoader"); config.put("org.jumpi.controller", "stateless"); config.put("org.jumpi.controller.stateless.classname", "org.jumpi.impl.controller.stateless.StatelessController"); config.put("org.jumpi.controller.stateless.connector", "jms"); config.put("org.jumpi.controller.stateless.connector.jms.classname", "org.jumpi.impl.connector.jms10.JmsConnector"); config.put("org.jumpi.controller.stateless.connector.jms.protocol", "jms"); config.put("org.jumpi.controller.stateless.connector.jms.queuejndikey1", "java.naming.factory.initial"); config.put("org.jumpi.controller.stateless.connector.jms.queuejndivalue1", "net.walend.somnifugi.SomniQueueContextFactory"); config.put("org.jumpi.controller.stateless.connector.jms.queuejndikey2", "java.naming.provider.url"); config.put("org.jumpi.controller.stateless.connector.jms.queuejndivalue2", ""); config.put("org.jumpi.controller.stateless.connector.jms.topicjndikey1", "java.naming.factory.initial"); config.put("org.jumpi.controller.stateless.connector.jms.topicjndivalue1", "net.walend.somnifugi.SomniTopicContextFactory"); config.put("org.jumpi.controller.stateless.connector.jms.topicjndikey2", "java.naming.provider.url"); config.put("org.jumpi.controller.stateless.connector.jms.topicjndivalue2", ""); config.put("org.jumpi.controller.stateless.connector.jms.jndiqueueconnectionfactorylookup", "ConnectionFactory"); config.put("org.jumpi.controller.stateless.connector.jms.jnditopicconnectionfactorylookup", "ConnectionFactory"); return config; } /** * Run the example code. * * @param j the started, configured Jumpi instance to use in the example. */ public void doWork(Jumpi j) { // get a Destination corresponding to the JMS Queue named ExampleQueue Destination queue = j.getDestination("jms://queue:ExampleQueue"); // synchronously send the message. Handle qStatus = j.send(queue, "Hello World!"); // print out information about the status of the operation. runner_.evaluateHandle(qStatus); } } /* * Version History * $Log: Producer.java,v $ * Revision 1.2 2003/06/09 21:36:47 klp * CONFIG_LOADER_KEY refactored to be 'org.jumpi.configurationloader' property * * Revision 1.1 2003/05/20 19:46:11 klp * transfer to sf.net * */