Во всех своих копаниях я не нашел ничего, что указывало бы на то, что OpenMQ предоставляет провайдера JNDI, когда он используется отдельно.Похоже, что это обеспечивается GlassFish.Это означает, что вам нужно использовать что-то вроде LDAP в качестве хранилища объектов, чего я еще не сделал.
В настоящее время я «обманул», скопировав файл .binding (тот, который находится в c:\ objectstore в вашем случае) к файловой системе, которую JMeter может видеть, чтобы я мог ссылаться на нее.Пока вы используете реальные имена машин, или IP-адреса, вместо localhost, который будет работать, но он явно не собирается сокращать его для производства.
На стороне Java вы могли бы просто полностью отбросить JNDI и просто создать экземпляр com.sun.messaging.ConnectionFactory
напрямую.Я использовал Spring, чтобы внедрить фабрику соединений.Обратите внимание, что мне пришлось включить свой собственный очень простой OpenMQConnectionFactoryFactory (украденный из https://wikis.oracle.com/display/GlassFish/OpenMQSpringConnectionConsumer), потому что com.sun.messaging.ConnectionFactory не является компонентом.
<bean id="connectionfactoryfactory"
class="myownlibrary.messaging.factory.OpenMQConnectionFactoryFactory">
<property name="properties">
<props>
<prop key="imqAddressList">qa29-vm:7676</prop>
<prop key="imqAddressList">qa30-vm:7676</prop>
<prop key="imqReconnectAttempts">-1</prop>
</props>
</property>
</bean>
<bean id="connectionfactory"
factory-bean="connectionfactoryfactory"
factory-method="constructConnectionFactory"/>
<bean id="jmsFactory" class="org.springframework.jms.connection.SingleConnectionFactory">
<property name="targetConnectionFactory" ref="connectionfactory" />
</bean>