Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Xa {
- public ConnectionFactory connectionFactory() throws Exception {
- AtomikosConnectionFactoryBean atomikosConnectionFactoryBean = new AtomikosConnectionFactoryBean();
- atomikosConnectionFactoryBean.setUniqueResourceName("pavan");
- Properties xaProperties = new Properties();
- xaProperties.setProperty("connectionNameList", hostName);
- xaProperties.setProperty("queueManager", queueManager);
- xaProperties.setProperty("channel", channel);
- xaProperties.setProperty("transportType", 1);
- atomikosConnectionFactoryBean.setXaProperties(xaProperties);
- atomikosConnectionFactoryBean.setXaConnectionFactoryClassName("com.ibm.mq.jms.MQXAConnectionFactory");
- return atomikosConnectionFactoryBean;
- }
- public CachingConnectionFactory cachingConnectionFactory() throws Exception{
- CachingConnectionFactory factory = new CachingConnectionFactory();
- factory.setSessionCacheSize(5);
- factory.setTargetConnectionFactory(connectionFactory());
- factory.setReconnectOnException(true);
- factory.afterPropertiesSet();
- return factory;
- }
- public static void main(String[] args) throws Exception {
- Xa b = new Xa();
- JmsTemplate jmsQueueTemplate = new JmsTemplate(b.cachingConnectionFactory());
- long sr = System.currentTimeMillis();
- IntStream.range(0, 1000).parallel().forEach(aa->{
- UserTransaction userTransaction = new UserTransactionImp();
- try {
- userTransaction.begin();
- jmsQueueTemplate.send(queueName, new MessageCreator() {
- @Override
- public Message createMessage(javax.jms.Session session)throws JMSException {
- TextMessage textMessage = session.createTextMessage();
- textMessage.setText("pavan"+aa);
- return textMessage;
- }});
- userTransaction.commit();
- } catch (Exception e) {
- try {
- userTransaction.rollback();
- } catch (Exception e1) {
- throw new RuntimeException(e1);
- }
- throw new RuntimeException(e);
- }
- });
- System.out.println("time taken "+(System.currentTimeMillis()-sr));
- }
- }
- Caused by: javax.transaction.xa.XAException: The method 'xa_end' has failed with errorCode '-4'.
- at com.ibm.mq.jmqi.JmqiXAResource.end(JmqiXAResource.java:559)
- at com.atomikos.datasource.xa.XAResourceTransaction.xaSuspend(XAResourceTransaction.java:883)
- at com.atomikos.datasource.xa.session.BranchEnlistedStateHandler.transactionSuspended(BranchEnlistedStateHandler.java:113)
- ... 40 common frames omitted
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement