https://issues.apache.org/bugzilla/show_bug.cgi?id=45458

           Summary: Point to Point JMS in combination with authentication
           Product: JMeter
           Version: 2.3.2
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Main
        AssignedTo: jmeter-dev@jakarta.apache.org
        ReportedBy: [EMAIL PROTECTED]


sebb <[EMAIL PROTECTED]> 

The JMS Publisher and Subscriber sampler GUIs both have
Username/Password fields which are used by the samplers; however for
some reason the JMS Point to Point GUI does not.

I've no idea why that is so - perhaps it was an oversight.

I suggest someone creates a Bugzilla issue asking for these fields to
be added to the GUI and the sampler. [Unfortunately the GUI is already
very full, but I guess that can be rearranged a bit]

Note RKU:

  I have got the authentication working with IBM MQSeries using the JMS
  Point to Point sampler.

  I modified the code as follows:

  In the class org.apache.jmeter.protocol.jms.sampler.JMSSampler I have
  added 2 methods:

    /**
     * RKU: get us the user
     *
     * @param context
     * @return
     * @throws NamingException
     */
    private String getUser(Context context) throws NamingException{
            Hashtable env = context.getEnvironment();
            return (String) env.get("java.naming.security.principal");
    }

    /**
     * RKU: get us the password
     *
     * @param context
     * @return
     * @throws NamingException
     */
    private String getPassword(Context context) throws NamingException{
            Hashtable env = context.getEnvironment();
            return (String) env.get("java.naming.security.credentials");
    }

In the same class I have replaced the line that creates the queue connection in
the method threadStarted() of the same class:

if (null != getUser(context) && null != getPassword(context)){
     System.out.println("explicit user and password");
     connection = factory.createQueueConnection(
                          getUser(context), 
                          getPassword(context));
}else{
     System.out.println("without explicit authentication");
     connection = factory.createQueueConnection();
}

Perhaps IBM MQSeries uses different properties for the user and the password
but I am not very knowledgeable in this area.

The following link suggests that the used properties are correct for MQ series:
http://www.oracle.com/technology/tech/java/oc4j/1013/how_to/how-to-connect-to-mqseries/doc/how-to-connect-to-mqseries.html#env

If anyone wants to reproduce this then you should know the following:

- use the com.sun.jndi.fscontext.RefFSContextFactory class as initial
context factory with a url to the JNDI repository;
- use IBM JMSAdmin tool to create a JNDI mapping between your JMS world
and the MQ world in your JNDI repository;

And of course you will have to add the ibm mq jars to the lib directory of
jmeter.

JAR              Obtained via
mail.jar         jmeter site
activation.jar   jmeter site
com.ibm.mq.jar   MQ installation
com.ibm.mqjms.jar       MQ installation
connector.jar    MQ installation
dhbcore.jar      MQ installation
fscontext.jar    MQ installation
jms.jar          MQ installation
jta.jar          MQ installation
providerutil.jar MQ installation
mqcontext.jar    support pac ME01
com.ibm.mq.pcf-6.0.3.jar support pac MS0B


-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to