Advertisement
Guest User

Untitled

a guest
Sep 20th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.65 KB | None | 0 0
  1. public class Xa {
  2. public ConnectionFactory connectionFactory() throws Exception {
  3.  
  4. AtomikosConnectionFactoryBean atomikosConnectionFactoryBean = new AtomikosConnectionFactoryBean();
  5. atomikosConnectionFactoryBean.setUniqueResourceName("pavan");
  6. Properties xaProperties = new Properties();
  7. xaProperties.setProperty("connectionNameList", hostName);
  8. xaProperties.setProperty("queueManager", queueManager);
  9. xaProperties.setProperty("channel", channel);
  10. xaProperties.setProperty("transportType", 1);
  11.  
  12. atomikosConnectionFactoryBean.setXaProperties(xaProperties);
  13. atomikosConnectionFactoryBean.setXaConnectionFactoryClassName("com.ibm.mq.jms.MQXAConnectionFactory");
  14. return atomikosConnectionFactoryBean;
  15.  
  16. }
  17.  
  18. public CachingConnectionFactory cachingConnectionFactory() throws Exception{
  19. CachingConnectionFactory factory = new CachingConnectionFactory();
  20. factory.setSessionCacheSize(5);
  21. factory.setTargetConnectionFactory(connectionFactory());
  22. factory.setReconnectOnException(true);
  23. factory.afterPropertiesSet();
  24. return factory;
  25. }
  26.  
  27. public static void main(String[] args) throws Exception {
  28. Xa b = new Xa();
  29. JmsTemplate jmsQueueTemplate = new JmsTemplate(b.cachingConnectionFactory());
  30. long sr = System.currentTimeMillis();
  31. IntStream.range(0, 1000).parallel().forEach(aa->{
  32. UserTransaction userTransaction = new UserTransactionImp();
  33. try {
  34. userTransaction.begin();
  35. jmsQueueTemplate.send(queueName, new MessageCreator() {
  36. @Override
  37. public Message createMessage(javax.jms.Session session)throws JMSException {
  38. TextMessage textMessage = session.createTextMessage();
  39. textMessage.setText("pavan"+aa);
  40. return textMessage;
  41.  
  42. }});
  43. userTransaction.commit();
  44. } catch (Exception e) {
  45. try {
  46. userTransaction.rollback();
  47. } catch (Exception e1) {
  48. throw new RuntimeException(e1);
  49. }
  50. throw new RuntimeException(e);
  51. }
  52. });
  53. System.out.println("time taken "+(System.currentTimeMillis()-sr));
  54. }
  55. }
  56.  
  57. Caused by: javax.transaction.xa.XAException: The method 'xa_end' has failed with errorCode '-4'.
  58. at com.ibm.mq.jmqi.JmqiXAResource.end(JmqiXAResource.java:559)
  59. at com.atomikos.datasource.xa.XAResourceTransaction.xaSuspend(XAResourceTransaction.java:883)
  60. at com.atomikos.datasource.xa.session.BranchEnlistedStateHandler.transactionSuspended(BranchEnlistedStateHandler.java:113)
  61. ... 40 common frames omitted
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement