protected static void connect(JMSTransportBase jmsTransport,
JMSDestinationConfigBean jmsDestConfigBean)
throws JMSException, NamingException {
JMSAddressPolicyType addrDetails = jmsTransport.getAddressPolicy();
// get JMS connection resources and destination
//
Context context = JMSUtils.getInitialContext(addrDetails);
Connection connection = null;
if (JMSConstants.JMS_QUEUE.equals(addrDetails.getDestinationStyle().value())) {
QueueConnectionFactory qcf =
(QueueConnectionFactory)context.lookup(addrDetails.getJndiConnectionFactoryName());
if (addrDetails.isSetConnectionUserName()) {
connection = qcf.createQueueConnection(addrDetails.getConnectionUserName(),
addrDetails.getConnectionPassword());
} else {
connection = qcf.createQueueConnection();
}
} else {
TopicConnectionFactory tcf =
(TopicConnectionFactory)context.lookup(addrDetails.getJndiConnectionFactoryName());
if (addrDetails.isSetConnectionUserName()) {
connection = tcf.createTopicConnection(addrDetails.getConnectionUserName(),
addrDetails.getConnectionPassword());
} else {
connection = tcf.createTopicConnection();
}
}
if (null != jmsDestConfigBean) {
String clientID = jmsDestConfigBean.getServerConfig().getDurableSubscriptionClientId();
if (clientID != null) {
connection.setClientID(clientID);
}
}
connection.start();
Destination requestDestination =
(Destination)context.lookup(addrDetails.getJndiDestinationName());
Destination replyDestination = (null != addrDetails.getJndiReplyDestinationName())
? (Destination)context.lookup(addrDetails.getJndiReplyDestinationName()) : null;
// create session factory to manage session, reply destination,
// producer and consumer pooling
//