fork(2) download
  1. import java.math.BigInteger;
  2. import java.security.MessageDigest;
  3. import java.security.NoSuchAlgorithmException;
  4. import java.sql.SQLException;
  5.  
  6. import javax.jms.Connection;
  7. import javax.jms.Destination;
  8. import javax.jms.ExceptionListener;
  9. import javax.jms.JMSException;
  10. import javax.jms.MessageProducer;
  11. import javax.jms.Session;
  12. import javax.jms.TextMessage;
  13. import javax.sql.DataSource;
  14.  
  15. import com.ibm.mq.jms.MQConnectionFactory;
  16. import com.ibm.msg.client.wmq.WMQConstants;
  17. import com.sun.org.apache.bcel.internal.generic.NEW;
  18.  
  19. import lrapi.lr;
  20.  
  21.  
  22. public class Actions
  23. {
  24.  
  25. private Connection connection;
  26. private Session session;
  27.  
  28. private void initializeConnection(String host, int port, String channel, String manager) {
  29. try {
  30. MQConnectionFactory mqcf = new MQConnectionFactory();
  31. mqcf.setHostName(host);
  32. mqcf.setPort(port);
  33. mqcf.setChannel(channel);
  34.  
  35. mqcf.setQueueManager(manager);
  36.  
  37. mqcf.setTransportType(WMQConstants.AUTO_ACKNOWLEDGE);
  38.  
  39. Connection conn = mqcf.createConnection();
  40. conn.setExceptionListener(new ExceptionListener() {
  41. @Override
  42. public void onException(JMSException jmse) {
  43. jmse.printStackTrace(System.err);
  44. }
  45. });
  46. conn.start();
  47.  
  48. System.out.println(String.format("MQ Connection established (type: 'QUEUE', host: '%s:%s', manager: '%s', channel: '%s')",
  49. mqcf.getHostName(), mqcf.getPort(), mqcf.getQueueManager(), mqcf.getChannel()));
  50. this.connection = conn;
  51. this.session = conn.createSession(true, Session.AUTO_ACKNOWLEDGE);
  52. } catch (JMSException ex) {
  53. System.err.println("Error occured while initializing connection!");
  54. ex.printStackTrace(System.err);
  55. }
  56. }
  57.  
  58. private void shutdownConnection() {
  59. if (session != null) {
  60. try {
  61. session.close();
  62. System.out.println("Successfully closed session");
  63. } catch (JMSException ex) {
  64. System.err.println("Unable to close session!");
  65. ex.printStackTrace(System.err);
  66. }
  67. }
  68.  
  69. if (connection != null) {
  70. try {
  71. connection.close();
  72. System.out.println("Successfully closed connection");
  73. } catch (JMSException ex) {
  74. System.err.println("Unable to close connection!");
  75. ex.printStackTrace(System.err);
  76. }
  77. }
  78. }
  79.  
  80.  
  81. private void send(String queueName, String message) {
  82. try {
  83. Destination d = session.createQueue(queueName);
  84. TextMessage msg = session.createTextMessage(message);
  85.  
  86. MessageProducer mp = session.createProducer(d);
  87. mp.send(msg);
  88. mp.close();
  89.  
  90. session.commit();
  91. } catch (JMSException ex) {
  92. System.err.println("Error occurred while sending message!");
  93. ex.printStackTrace(System.err);
  94. }
  95. }
  96.  
  97. public static String md5(String input) {
  98. String md5 = null;
  99. if(null == input)
  100. return null;
  101. try
  102. {
  103. MessageDigest digest = MessageDigest.getInstance("MD5");
  104. digest.update(input.getBytes(), 0, input.length());
  105. md5 = new BigInteger(1, digest.digest()).toString(16);
  106. }
  107. {
  108. e.printStackTrace();
  109. }
  110. return md5;
  111. }
  112.  
  113.  
  114.  
  115. public int init() throws Throwable {
  116. initializeConnection(lr.eval_string("{MQ_HOST}"), lr.eval_int("{MQ_PORT}"), lr.eval_string("{MQ_CHANNEL}"), lr.eval_string("{MQ_MANAGER}"));
  117. return 0;
  118. }
  119.  
  120.  
  121. public int action() throws Throwable {
  122. lr.start_transaction("MQ_CIT_ESB_BP_GFL");
  123. Long systime = System.currentTimeMillis();
  124.  
  125. String str= String.valueOf(systime);
  126. Long systime_2 = System.currentTimeMillis()+1;
  127. String str2= String.valueOf(systime_2);
  128. lr.save_string(md5(str),"MSG_ID");
  129. lr.save_string(md5(str2),"OperUID");
  130. String msg = lr.eval_string("<?xml version=\"1.0\" encoding=\"iso-8859-5\"?>"
  131. +"<CIT_REQUEST>"
  132. +" <SYSTEM>"
  133. +" <BP_ID Value=\"GFL\"/>"
  134. +" <CIT_Version Value=\"1.0\"/>"
  135. +" <FORMAT Value=\"XML\"/>"
  136. +" <MAIN_ID Value=\"\"/>"
  137. +" <MSG_ID Value=\"{MSG_ID}\"/>"
  138. +" <SYNC Value=\"N\"/>"
  139. +" <TAR_ID Value=\"IBSO-SB\"/>"
  140. +" <SYS_ID Value=\"ESB_BP\"/>"
  141. +" <Version Value=\"002\"/>"
  142. +" </SYSTEM>"
  143. +" <DATA>"
  144. +" <GFL_REQUEST>"
  145. +" <BEGIN_>"
  146. +" <ClientLastName Value=\"{ClientLastName}\"/>"
  147. +" <ClientFirstName Value=\"{ClientFirstName}\"/>"
  148. +" <ClientMiddleName Value=\"{ClientMiddleName}\"/>"
  149. +" <DocumentIdType Value=\"{DocumentIdType}\"/>"
  150. +" <DocumentIdNum Value=\"{DocumentIdNum}\"/>"
  151. +" <DocumentIdSer Value=\"{DocumentIdSer}\"/>"
  152. +" <DocumentIdDate Value=\"{DocumentIdDate}\"/>"
  153. +" <RbTbBrch/>"
  154. +" </BEGIN_>"
  155. +" </GFL_REQUEST>"
  156. +" <RqUID Value=\"{MSG_ID}\"/>"
  157. +" <RqTm Value=\"{RqTm}\"/>"
  158. +" <OperUID Value=\"{OperUID}\"/>"
  159. +" <SPName Value=\"BP_ERIB\"/>"
  160. +" </DATA>"
  161. +"</CIT_REQUEST>");
  162. send(lr.eval_string("{MQ_REQUEST}"), msg);
  163. lr.end_transaction("MQ_CIT_ESB_BP_GFL", lr.PASS);
  164. return 0;
  165. }
  166.  
  167.  
  168. public int end() throws Throwable {
  169. shutdownConnection();
  170. return 0;
  171. }
  172. }
  173.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Main.java:22: error: class Actions is public, should be declared in a file named Actions.java
public class Actions
       ^
Main.java:6: error: package javax.jms does not exist
import javax.jms.Connection;
                ^
Main.java:7: error: package javax.jms does not exist
import javax.jms.Destination;
                ^
Main.java:8: error: package javax.jms does not exist
import javax.jms.ExceptionListener;
                ^
Main.java:9: error: package javax.jms does not exist
import javax.jms.JMSException;
                ^
Main.java:10: error: package javax.jms does not exist
import javax.jms.MessageProducer;
                ^
Main.java:11: error: package javax.jms does not exist
import javax.jms.Session;
                ^
Main.java:12: error: package javax.jms does not exist
import javax.jms.TextMessage;
                ^
Main.java:15: error: package com.ibm.mq.jms does not exist
import com.ibm.mq.jms.MQConnectionFactory;
                     ^
Main.java:16: error: package com.ibm.msg.client.wmq does not exist
import com.ibm.msg.client.wmq.WMQConstants;
                             ^
Main.java:17: warning: NEW is internal proprietary API and may be removed in a future release
import com.sun.org.apache.bcel.internal.generic.NEW;
                                               ^
Main.java:19: error: package lrapi does not exist
import lrapi.lr;
            ^
Main.java:25: error: cannot find symbol
 private Connection connection;
         ^
  symbol:   class Connection
  location: class Actions
Main.java:26: error: cannot find symbol
    private Session session;
            ^
  symbol:   class Session
  location: class Actions
Main.java:30: error: cannot find symbol
            MQConnectionFactory mqcf = new MQConnectionFactory();
            ^
  symbol:   class MQConnectionFactory
  location: class Actions
Main.java:30: error: cannot find symbol
            MQConnectionFactory mqcf = new MQConnectionFactory();
                                           ^
  symbol:   class MQConnectionFactory
  location: class Actions
Main.java:37: error: cannot find symbol
            mqcf.setTransportType(WMQConstants.AUTO_ACKNOWLEDGE);
                                  ^
  symbol:   variable WMQConstants
  location: class Actions
Main.java:39: error: cannot find symbol
            Connection conn = mqcf.createConnection();
            ^
  symbol:   class Connection
  location: class Actions
Main.java:40: error: cannot find symbol
            conn.setExceptionListener(new ExceptionListener() {
                                          ^
  symbol:   class ExceptionListener
  location: class Actions
Main.java:51: error: cannot find symbol
            this.session = conn.createSession(true, Session.AUTO_ACKNOWLEDGE);
                                                    ^
  symbol:   variable Session
  location: class Actions
Main.java:52: error: cannot find symbol
        } catch (JMSException ex) {
                 ^
  symbol:   class JMSException
  location: class Actions
Main.java:63: error: cannot find symbol
            } catch (JMSException ex) {
                     ^
  symbol:   class JMSException
  location: class Actions
Main.java:73: error: cannot find symbol
            } catch (JMSException ex) {
                     ^
  symbol:   class JMSException
  location: class Actions
Main.java:83: error: cannot find symbol
            Destination d = session.createQueue(queueName);
            ^
  symbol:   class Destination
  location: class Actions
Main.java:84: error: cannot find symbol
            TextMessage msg = session.createTextMessage(message);
            ^
  symbol:   class TextMessage
  location: class Actions
Main.java:86: error: cannot find symbol
            MessageProducer mp = session.createProducer(d);
            ^
  symbol:   class MessageProducer
  location: class Actions
Main.java:91: error: cannot find symbol
        } catch (JMSException ex) {
                 ^
  symbol:   class JMSException
  location: class Actions
Main.java:117: error: cannot find symbol
	    initializeConnection(lr.eval_string("{MQ_HOST}"), lr.eval_int("{MQ_PORT}"), lr.eval_string("{MQ_CHANNEL}"), lr.eval_string("{MQ_MANAGER}"));
	                         ^
  symbol:   variable lr
  location: class Actions
Main.java:117: error: cannot find symbol
	    initializeConnection(lr.eval_string("{MQ_HOST}"), lr.eval_int("{MQ_PORT}"), lr.eval_string("{MQ_CHANNEL}"), lr.eval_string("{MQ_MANAGER}"));
	                                                      ^
  symbol:   variable lr
  location: class Actions
Main.java:117: error: cannot find symbol
	    initializeConnection(lr.eval_string("{MQ_HOST}"), lr.eval_int("{MQ_PORT}"), lr.eval_string("{MQ_CHANNEL}"), lr.eval_string("{MQ_MANAGER}"));
	                                                                                ^
  symbol:   variable lr
  location: class Actions
Main.java:117: error: cannot find symbol
	    initializeConnection(lr.eval_string("{MQ_HOST}"), lr.eval_int("{MQ_PORT}"), lr.eval_string("{MQ_CHANNEL}"), lr.eval_string("{MQ_MANAGER}"));
	                                                                                                                ^
  symbol:   variable lr
  location: class Actions
Main.java:123: error: cannot find symbol
            lr.start_transaction("MQ_CIT_ESB_BP_GFL");
            ^
  symbol:   variable lr
  location: class Actions
Main.java:129: error: cannot find symbol
	    lr.save_string(md5(str),"MSG_ID");
	    ^
  symbol:   variable lr
  location: class Actions
Main.java:130: error: cannot find symbol
	    lr.save_string(md5(str2),"OperUID");
	    ^
  symbol:   variable lr
  location: class Actions
Main.java:131: error: cannot find symbol
	    String msg = lr.eval_string("<?xml version=\"1.0\" encoding=\"iso-8859-5\"?>"
	                 ^
  symbol:   variable lr
  location: class Actions
Main.java:163: error: cannot find symbol
            send(lr.eval_string("{MQ_REQUEST}"), msg);
                 ^
  symbol:   variable lr
  location: class Actions
Main.java:164: error: cannot find symbol
            lr.end_transaction("MQ_CIT_ESB_BP_GFL", lr.PASS);
                                                    ^
  symbol:   variable lr
  location: class Actions
Main.java:164: error: cannot find symbol
            lr.end_transaction("MQ_CIT_ESB_BP_GFL", lr.PASS);
            ^
  symbol:   variable lr
  location: class Actions
37 errors
1 warning
stdout
Standard output is empty