I am new to JMS and the Websphere server and I am trying to access a JMS queue configured on Websphere Application Server 8 from my Java code. I am not able to understand exactly what value should be set for Context.INITIAL_CONTEXT_FACTORY. Should it be the fully qualified class name of the class or something specific to the application server?
Hashtable environment = new Hashtable();
environment.put(Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory");
environment.put(Context.PROVIDER_URL, "iiop://localhost:9081");
On setting value for Context.INITIAL_CONTEXT_FACTORY as fully qualified class name i.e com.ms.test.Demo I am receiving NoInitialContextException.
PFB the code that I am using -
package com.jms.test;
import java.util.Hashtable;
import javax.jms.Queue;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
public class Demo {
public static void main(String[] args) throws NamingException {
System.out.println("Start.....");
Hashtable environment = new Hashtable();
environment.put(Context.INITIAL_CONTEXT_FACTORY, "com.jms.test.Demo");
environment.put(Context.PROVIDER_URL, "iiop://localhost:9081");
//String pUrl = System.getProperty(Context.PROVIDER_URL);
//System.out.println("*******"+pUrl+"********");
InitialContext ctx = new InitialContext(environment);
Queue queue = (Queue) ctx.lookup("jms/TestQ111200");
System.out.println("*** Queue is *** "+queue.toString());
}}
I have made JMS configurations in the Websphere Application Server using the steps given at the link below: http://pic.dhe.ibm.com/infocenter/iisinfsv/v8r1/index.jsp?topic=/com.ibm.swg.im.iis.infoservdir.user.doc/topics/t_isd_user_setting_up_jms_in_was.html