public void publish(final MessageBean messageBean) throws JMSException {
		MessageProducer producer = producerMap.get(messageBean.getDestination());
		if (producer != null) {
			Message message = messageBean.getMessageCreator().createMessage(session);
			producer.send(message);
		} else {
			createMessageProducer(messageBean.getDestination());
			publish(messageBean);
		}
		// 在有事务模式下 根据请求数批量提交或者在没有达到批量提交时每隔一段时间提交一次
		if (JmsConfig.isTransacted()) {
			if (requestCounts.intValue() % JmsConfig.getBatchNum() == 0
					|| System.currentTimeMillis() - lastSubmitTime.get() > JmsConfig.getSubmitPeriod()) {
				session.commit();
				lastSubmitTime.set(System.currentTimeMillis());
			}
		}
	}