From 39af154b5d3d120fb9e38d5871f45ad18a010db5 Mon Sep 17 00:00:00 2001 From: syukri-radius Date: Mon, 4 Nov 2024 17:16:40 +0700 Subject: [PATCH] init span osb mdb --- LogProcessorMdb.jpr | 278 ++++++++++++++++++ classes/.data/LogProcessorMdb.cdi | Bin 0 -> 2426 bytes classes/META-INF/ejb-jar.xml | 24 ++ classes/META-INF/weblogic-ejb-jar.xml | 18 ++ classes/config.properties | 1 + classes/org/soakemenkeu/ConfigUtil.class | Bin 0 -> 1565 bytes .../soakemenkeu/MessageDrivenEJBBean.class | Bin 0 -> 4989 bytes .../OsbLogProcessor_LogProcessorMdb_ejb.jar | Bin 0 -> 9306 bytes src/META-INF/ejb-jar.xml | 24 ++ src/META-INF/weblogic-ejb-jar.xml | 18 ++ src/config.properties | 1 + src/org/soakemenkeu/ConfigUtil.java | 25 ++ src/org/soakemenkeu/MessageDrivenEJBBean.java | 230 +++++++++++++++ 13 files changed, 619 insertions(+) create mode 100644 LogProcessorMdb.jpr create mode 100644 classes/.data/LogProcessorMdb.cdi create mode 100644 classes/META-INF/ejb-jar.xml create mode 100644 classes/META-INF/weblogic-ejb-jar.xml create mode 100644 classes/config.properties create mode 100644 classes/org/soakemenkeu/ConfigUtil.class create mode 100644 classes/org/soakemenkeu/MessageDrivenEJBBean.class create mode 100644 deploy/OsbLogProcessor_LogProcessorMdb_ejb.jar create mode 100644 src/META-INF/ejb-jar.xml create mode 100644 src/META-INF/weblogic-ejb-jar.xml create mode 100644 src/config.properties create mode 100644 src/org/soakemenkeu/ConfigUtil.java create mode 100644 src/org/soakemenkeu/MessageDrivenEJBBean.java diff --git a/LogProcessorMdb.jpr b/LogProcessorMdb.jpr new file mode 100644 index 0000000..439c4d3 --- /dev/null +++ b/LogProcessorMdb.jpr @@ -0,0 +1,278 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/classes/.data/LogProcessorMdb.cdi b/classes/.data/LogProcessorMdb.cdi new file mode 100644 index 0000000000000000000000000000000000000000..e07c8369a90a34795179e210990c2328a22cdf18 GIT binary patch literal 2426 zcmb`ISyLNF5XT$K#z9~M;<9mKhaA|sCW)QX&Selj2r>$SmPyS(b&YnrO82`)IVUod(TPmDn<_f;`v=w!#IbYg&@2o@#ekM$ z%`vPmjp$1Y@BB8TOMVn5mS!uT1Lb(Mz;1-E#8dv>v06GIt&VvWWmuYojUV-CF`bz3 zO7b8GNewv=F}}l-Y3us%mAKO3k$cS{a)*+A8(X>tU5v4zOPe zqoztX2wji^T1`tINh_XM8z1cLz`DpOSC3Z>!OM{KQWKi?Bk1CIJANc-wvbLZG34=R zsnmZTOUQGF@BtDZmvyN+dUvGu)iA4knnq-4zVuo6yOQnWjl>T;si_vIex9x88_pU< zDm3K1kk8xkv3Da(xLL}Zf6BI58WPIYZOGe%Q=l1x#8|7gGM1)e{N{dZ*qOR2+Ih0^B87IE3QW+{6YX$UDE-_j^Re2A%#qTe zKugX3LFh`tuQe!Lt-rxlAxuT((qk&pZmW~!efxE;OnPr{9dUi2GbVw}Zx-`1;M=2U z4-K9zcrdf-NK4rs6R0rY3sbr@OT?t)WPP%rGkrt%Q9E3)iZ9v=W5C$d{T)f z{>Ba50C*<;dbR%QPyPd@!39tQ7r`Yk2`+=Tz!azhwwnPw=L+CCY|A#~bCtdS(|zy< zhS>5OFbnwpp9k!fSFr#V!4g;oE8rTq4pzYp@HXIx?|_@&7I+t|f%m}s-~;d>SO>Sk z9qXg1)l){J_lcbFTq`K4}1l_2E0!8`7QVkd=Kt}2jBE=gRBZ0Gpr*w!kCs7(4+_!8Z66?0^<{26jOk R{08 + + + + + MessageDrivenEJBBean + org.soakemenkeu.MessageDrivenEJBBean + Container + Auto-acknowledge + + javax.jms.Queue + + + + + + + MessageDrivenEJBBean + onMessage + + NotSupported + + + \ No newline at end of file diff --git a/classes/META-INF/weblogic-ejb-jar.xml b/classes/META-INF/weblogic-ejb-jar.xml new file mode 100644 index 0000000..7c1e4a2 --- /dev/null +++ b/classes/META-INF/weblogic-ejb-jar.xml @@ -0,0 +1,18 @@ + + + + + MessageDrivenEJBBean + + + 20 + 5 + + jms/loggingQueue + jms/logConnFactory + 5 + + + mdb/MessageDrivenEJBBean + + \ No newline at end of file diff --git a/classes/config.properties b/classes/config.properties new file mode 100644 index 0000000..c904e33 --- /dev/null +++ b/classes/config.properties @@ -0,0 +1 @@ +api.url=http://10.216.99.101:8002/jmsLogging/ProxyService/httpLoggingPS diff --git a/classes/org/soakemenkeu/ConfigUtil.class b/classes/org/soakemenkeu/ConfigUtil.class new file mode 100644 index 0000000000000000000000000000000000000000..165c4b77b520cb52d398452d490548363eed9994 GIT binary patch literal 1565 zcmZ`(Yje{^6g}&g99bcWjT1tlbxRAjV`7><^C&GOq@-~k;3Q1jna(KkVniItBgrNC zMfqCjjG1X?$~QX0f1>oPKMbf8otvpfm<4G3+QdnZA&k( zr7tj9du;w{Ry%>+s&1d^7X?yFwqpl31>(ihoq$OazZ?I=@tNy=K*S%>#KTodemaF1yY{ySd9~43TNdpcnI4;A$~SrDZzJ zYCZ65r@2`AzlsSRNSbHQx=JrutzOzm+i7yYDX!Rb`9M=4I3qsa9FPgU-Md$Rl-;wgm~ zrn#m2xN|3%-+PG&=>dMm zFFdbdi+=}5p9_!AWIW_&j;sJ0wK|a*a%12M#_3~%2%U%t+UG)qk1U>$e8uG?E6(F5 zd_-%&=Ue6X!6wCAw G!_2=PYil|H literal 0 HcmV?d00001 diff --git a/classes/org/soakemenkeu/MessageDrivenEJBBean.class b/classes/org/soakemenkeu/MessageDrivenEJBBean.class new file mode 100644 index 0000000000000000000000000000000000000000..ebb125ba44fefb293bd914d9afe6b82fc9af48d4 GIT binary patch literal 4989 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 Z`PoU-DRS4i98%^=S+(ECz}MjY{{!*o9Gn0E literal 0 HcmV?d00001 diff --git a/deploy/OsbLogProcessor_LogProcessorMdb_ejb.jar b/deploy/OsbLogProcessor_LogProcessorMdb_ejb.jar new file mode 100644 index 0000000000000000000000000000000000000000..e3c57d16d742da521b14b236b9fe93e479208ce5 GIT binary patch literal 9306 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 literal 0 HcmV?d00001 diff --git a/src/META-INF/ejb-jar.xml b/src/META-INF/ejb-jar.xml new file mode 100644 index 0000000..587dbdb --- /dev/null +++ b/src/META-INF/ejb-jar.xml @@ -0,0 +1,24 @@ + + + + + + MessageDrivenEJBBean + org.soakemenkeu.MessageDrivenEJBBean + Container + Auto-acknowledge + + javax.jms.Queue + + + + + + + MessageDrivenEJBBean + onMessage + + NotSupported + + + \ No newline at end of file diff --git a/src/META-INF/weblogic-ejb-jar.xml b/src/META-INF/weblogic-ejb-jar.xml new file mode 100644 index 0000000..7c1e4a2 --- /dev/null +++ b/src/META-INF/weblogic-ejb-jar.xml @@ -0,0 +1,18 @@ + + + + + MessageDrivenEJBBean + + + 20 + 5 + + jms/loggingQueue + jms/logConnFactory + 5 + + + mdb/MessageDrivenEJBBean + + \ No newline at end of file diff --git a/src/config.properties b/src/config.properties new file mode 100644 index 0000000..c904e33 --- /dev/null +++ b/src/config.properties @@ -0,0 +1 @@ +api.url=http://10.216.99.101:8002/jmsLogging/ProxyService/httpLoggingPS diff --git a/src/org/soakemenkeu/ConfigUtil.java b/src/org/soakemenkeu/ConfigUtil.java new file mode 100644 index 0000000..fbcd2df --- /dev/null +++ b/src/org/soakemenkeu/ConfigUtil.java @@ -0,0 +1,25 @@ +package org.soakemenkeu; + +import java.io.InputStream; +import java.util.Properties; + +public class ConfigUtil { + private static Properties properties = new Properties(); + + static { + try (InputStream input = ConfigUtil.class.getClassLoader().getResourceAsStream("config.properties")) { + if (input == null) { + System.out.println("Sorry, unable to find config.properties"); +// return; + } + // Load the properties file + properties.load(input); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + public static String getProperty(String key) { + return properties.getProperty(key); + } +} diff --git a/src/org/soakemenkeu/MessageDrivenEJBBean.java b/src/org/soakemenkeu/MessageDrivenEJBBean.java new file mode 100644 index 0000000..ba954ad --- /dev/null +++ b/src/org/soakemenkeu/MessageDrivenEJBBean.java @@ -0,0 +1,230 @@ +package org.soakemenkeu; + + +import java.io.BufferedReader; + + +import javax.jms.TextMessage; +import javax.jms.Message; +import javax.jms.MessageListener; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.OutputStream; + +import java.io.OutputStreamWriter; + +import java.net.HttpURLConnection; +import java.net.URL; + + +import javax.jms.JMSException; + +import javax.ejb.EJBException; +import javax.ejb.CreateException; +import javax.ejb.MessageDrivenBean; +import javax.ejb.MessageDrivenContext; +import java.io.StringReader; +import java.io.StringWriter; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; + +import javax.xml.XMLConstants; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerException; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.stream.StreamResult; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.DriverManager; +import java.sql.PreparedStatement; + + +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + +public class MessageDrivenEJBBean implements MessageDrivenBean, MessageListener { + private MessageDrivenContext mdbContext; + private void log(String s) { +// if (true) System.out.println(s); + } // container callback methods + + public void ejbRemove() throws EJBException { log("ejbRemove called"); } + + public void setMessageDrivenContext(MessageDrivenContext ctx) { mdbContext = ctx; log("context set"); } + + public void ejbCreate () throws CreateException { log("ejbCreate called"); } // The implementation of the onMessage method + + public void onMessage(Message msg) { + TextMessage tm = (TextMessage) msg; + try { + log("onMessage called"); + String msgPayload = tm.getText(); + msgPayload.replace("",""); +// sendHttpPost(text); +// Document jmsMessage = convertStringToXml(text); +// Node root = jmsMessage.getDocumentElement(); +// int logID = getLogNextSeq(); +// if (root != null){ +// NodeList nodeList = ((Element) root).getElementsByTagName("soa:LogRequest"); +// for (int i = 0; i < nodeList.getLength(); i++) { +// Node nodeXml = nodeList.item(i); +// if (nodeXml.getNodeType() == Node.ELEMENT_NODE) { +// Element element = (Element) nodeXml; +// System.out.println("[myMessageDrivenBean] element: " + element.toString() ); +// } else { +// System.out.println("[myMessageDrivenBean] node: " + nodeXml.toString() ); +// } +// } +// } + + + + String postPayload =""; + String cleanPayload = msgPayload.replace("", ""); + postPayload += cleanPayload2.replace("",""); + postPayload += " "; + + + System.out.println("[myMessageDrivenBean] Received message: " + msgPayload ); + System.out.println("[myMessageDrivenBean] postPayload message: " + postPayload ); + sendHttpPost(postPayload); + + + } catch(JMSException ex) { + System.out.println("Caught JMSException: " + ex ); + } + } + +// private static String convertXmlToString(Document doc) { +// DOMSource domSource = new DOMSource(doc); +// StringWriter writer = new StringWriter(); +// StreamResult result = new StreamResult(writer); +// TransformerFactory tf = TransformerFactory.newInstance(); +// Transformer transformer = null; +// try { +// transformer = tf.newTransformer(); +// transformer.transform(domSource, result); +// } catch (TransformerException e) { +// throw new RuntimeException(e); +// } +// return writer.toString(); +// } +// +// private static Document convertStringToXml(String xmlString) { +// +// DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); +// +// try { +// +// // optional, but recommended +// // process XML securely, avoid attacks like XML External Entities (XXE) +// dbf.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true); +// +// DocumentBuilder builder = dbf.newDocumentBuilder(); +// +// Document doc = builder.parse(new InputSource(new StringReader(xmlString))); +// +// return doc; +// +// } catch (ParserConfigurationException | IOException | SAXException e) { +// throw new RuntimeException(e); +// } +// +// } + +// private int getLogNextSeq(){ +// int logId = 0; +// String dbUrl = ConfigUtil.getProperty("db.url"); +// String dbUsername = ConfigUtil.getProperty("db.username"); +// String dbPassword = ConfigUtil.getProperty("db.password"); +// ResultSet rs = null; +// try (Connection connection = DriverManager.getConnection(dbUrl, dbUsername, dbPassword)) { +// String sql = "SELECT PKLOGIDSEQ.nextval FROM dual"; +// PreparedStatement preparedStatement = connection.prepareStatement(sql); +// rs = preparedStatement.executeQuery(); +// +// if (rs.next()) { +// logId = rs.getInt(1); +// } +// +// +// } catch (Exception e) { +// e.printStackTrace(); +// } +// +// return logId; +// } + +// private void storeMessageInDatabase(String messageContent) { +// String dbUrl = ConfigUtil.getProperty("db.url"); +// String dbUsername = ConfigUtil.getProperty("db.username"); +// String dbPassword = ConfigUtil.getProperty("db.password"); +// +// try (Connection connection = DriverManager.getConnection(dbUrl, dbUsername, dbPassword)) { +// String sql = "INSERT INTO jms_messages (message_content) VALUES (?)"; +// try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) { +// preparedStatement.setString(1, messageContent); +// preparedStatement.executeUpdate(); +// System.out.println("Message stored in the database successfully."); +// } +// } catch (Exception e) { +// e.printStackTrace(); +// } +// } + + private void sendHttpPost(String messageContent) { + try { + String apiUrl = ConfigUtil.getProperty("api.url"); + URL url = new URL(apiUrl); + HttpURLConnection conn = (HttpURLConnection) url.openConnection(); + +// URL url = new URL("http://localhost:17080/soa-infra/services/default/SoaLoggerProject/LogOsbInsertService"); +// HttpURLConnection conn = (HttpURLConnection) url.openConnection(); + conn.setRequestMethod("POST"); + conn.setRequestProperty("Content-Type", "text/xml"); + conn.setRequestProperty("SOAPAction","\"execute\""); + conn.setDoInput(true); + conn.setDoOutput(true); + + String body = messageContent; + OutputStream out = conn.getOutputStream(); + OutputStreamWriter wout = new OutputStreamWriter(out, "UTF-8"); +// System.out.println("Writing message: " + body + " to outputstream."); + wout.write(body); + wout.flush(); + out.close(); + +// OutputStream output = new BufferedOutputStream(conn.getOutputStream()); +// output.write(body.getBytes()); +// output.flush(); + + int responseCode = conn.getResponseCode(); +// System.out.println("POST Response Code :: " + responseCode); + + if (responseCode == HttpURLConnection.HTTP_OK) { // success + try (BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()))) { + String inputLine; + StringBuilder response = new StringBuilder(); + while ((inputLine = in.readLine()) != null) { + response.append(inputLine); + } + System.out.println("Response :: " + response.toString()); + } + } else { + System.out.println("POST request failed"); + } + conn.disconnect(); + } catch (IOException e) { + e.printStackTrace(); + + } + } +}