JBoss クラスではなく、Java 5 を前提とする JNDI クラスだけの場合は、これを行うことができます。ただし、オブジェクトのすべてのプロパティを設定する必要があり、それはプロバイダー固有です。WebSphere MQ JMS サンプルは、WMQ でこれを行う方法を示しており、同等のコードを作成するには JBoss のプロパティーと値の名前を知っている必要があります。以下は、WMQ JmsProducer.java サンプルのコード スニペットです。
JmsFactoryFactory ff = JmsFactoryFactory.getInstance(WMQConstants.WMQ_PROVIDER);
JmsConnectionFactory cf = ff.createConnectionFactory();
// Set the properties
cf.setStringProperty(WMQConstants.WMQ_HOST_NAME, host);
cf.setIntProperty(WMQConstants.WMQ_PORT, port);
cf.setStringProperty(WMQConstants.WMQ_CHANNEL, channel);
cf.setIntProperty(WMQConstants.WMQ_CONNECTION_MODE, WMQConstants.WMQ_CM_CLIENT);
cf.setStringProperty(WMQConstants.WMQ_QUEUE_MANAGER, queueManagerName);
// Create JMS objects
connection = cf.createConnection();
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
if (isTopic) {
destination = session.createTopic(destinationName);
}
else {
destination = session.createQueue(destinationName);
}
producer = session.createProducer(destination);
一方、JBoss クラスが Java 1.5 を前提としている場合は、Java 1.5 以降を実行する必要があります。