From 52b5d74561cf7ee6d9238837270a0708df6cb3cd Mon Sep 17 00:00:00 2001 From: Peter Hormanns Date: Tue, 1 Aug 2023 19:27:49 +0200 Subject: [PATCH] initialize queues with 'NullProcessor' --- hsarback/pom.xml | 6 +- .../de/hsadmin/servlets/PacTasksServlet.java | 155 ----- .../servlets/QueueStatusReceiverServlet.java | 44 ++ hsarback/src/main/webapp/META-INF/context.xml | 5 - .../src/main/webapp/META-INF/dev-context.xml | 38 -- .../src/main/webapp/META-INF/prod-context.xml | 598 ------------------ .../src/main/webapp/META-INF/test-context.xml | 38 -- hsarback/src/main/webapp/WEB-INF/web.xml | 17 - qserv-deploy/pom.xml | 15 +- qserv-deploy/src/deb/etc/keystore | Bin 4444 -> 0 bytes .../src/deb/systemd/hsadmin-qserv.service | 2 +- qserv/pom.xml | 4 +- .../de/hsadmin/core/model/Transaction.java | 19 +- .../de/hsadmin/core/qserv/QueueServer.java | 2 +- .../java/de/hsadmin/core/qserv/QueueTask.java | 7 + util/pom.xml | 2 +- 16 files changed, 65 insertions(+), 887 deletions(-) delete mode 100644 hsarback/src/main/java/de/hsadmin/servlets/PacTasksServlet.java delete mode 100644 hsarback/src/main/webapp/META-INF/dev-context.xml delete mode 100644 hsarback/src/main/webapp/META-INF/prod-context.xml delete mode 100644 hsarback/src/main/webapp/META-INF/test-context.xml delete mode 100644 qserv-deploy/src/deb/etc/keystore diff --git a/hsarback/pom.xml b/hsarback/pom.xml index c383367..02d3cee 100644 --- a/hsarback/pom.xml +++ b/hsarback/pom.xml @@ -5,7 +5,7 @@ de.hsadmin hsar war - 4.0.9 + 4.0.10 HSAdmin Stable Backend Webapp http://maven.apache.org @@ -36,12 +36,12 @@ de.hsadmin.core hsadmin-util - 4.0.9 + 4.0.10 de.hsadmin.core hsadmin-qserv - 4.0.9 + 4.0.10 commons-httpclient diff --git a/hsarback/src/main/java/de/hsadmin/servlets/PacTasksServlet.java b/hsarback/src/main/java/de/hsadmin/servlets/PacTasksServlet.java deleted file mode 100644 index 1f10503..0000000 --- a/hsarback/src/main/java/de/hsadmin/servlets/PacTasksServlet.java +++ /dev/null @@ -1,155 +0,0 @@ -package de.hsadmin.servlets; - -import java.io.IOException; -import java.io.PrintWriter; - -import javax.jms.ExceptionListener; -import javax.jms.JMSException; -import javax.jms.Message; -import javax.jms.MessageListener; -import javax.jms.Queue; -import javax.jms.QueueConnection; -import javax.jms.QueueConnectionFactory; -import javax.jms.QueueReceiver; -import javax.jms.QueueSession; -import javax.jms.Session; -import javax.jms.TextMessage; -import javax.naming.Context; -import javax.naming.InitialContext; -import javax.naming.NamingException; -import javax.persistence.EntityManager; -import javax.persistence.Query; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import de.hsadmin.core.model.TechnicalException; -import de.hsadmin.core.model.Transaction; -import de.hsadmin.core.qserv.Processor; -import de.hsadmin.core.qserv.QueueTask; -import de.hsadmin.core.util.Config; -import de.hsadmin.mods.pac.Pac; -import de.hsadmin.mods.pac.PacProcessorFactory; - -public class PacTasksServlet extends HttpServlet - implements MessageListener, ExceptionListener { - - private static final long serialVersionUID = -5701350884034782083L; - - private String jmsUser; - private String jmsPass; - private QueueConnectionFactory queueConnectionFactory; - private QueueConnection queueConnection; - private QueueSession queueSession; - private boolean isConnected; - private int messageCount; - private int errorCount; - - @Override - public void init() throws ServletException { - isConnected = false; - messageCount = 0; - errorCount = 0; - try { - connect(); - } catch (NamingException e) { - throw new ServletException(e); - } - } - - private void connect() throws NamingException { - Config config = Config.getInstance(); - jmsUser = config.getProperty("hsadmin.jms.username", "hsadmin"); - jmsPass = config.getProperty("hsadmin.jms.password", "hsadmin-pw"); - InitialContext ctx = new InitialContext(); - Context env = (Context) ctx.lookup("java:comp/env"); - queueConnectionFactory = (QueueConnectionFactory) env.lookup("jms/QueueCF"); - while (!isConnected) { - try { - queueConnection = queueConnectionFactory.createQueueConnection(jmsUser, jmsPass); - queueConnection.setExceptionListener(this); - queueSession = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); - Queue queue = (Queue) env.lookup("jms/hsadminSystem-pactasks"); - queueConnection.start(); - QueueReceiver receiver = queueSession.createReceiver(queue); - receiver.setMessageListener(this); - isConnected = true; - } catch (JMSException e) { - close(); - try { - Thread.sleep(2000); - } catch (InterruptedException e1) { } - } - } - } - - @Override - protected void doGet(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { - resp.setContentType("text/plain"); - PrintWriter writer = resp.getWriter(); - writer.println("Verbindungsstatus: " + (isConnected ? "OK" : "ERROR")); - writer.println("Verarbeitete Nachrichten: " + messageCount); - writer.println("Verarbeitungsfehler: " + errorCount); - writer.close(); - } - - @Override - public void destroy() { - close(); - } - - private void close() { - try { if (queueSession != null) queueSession.close(); } catch (JMSException e) { } - try { if (queueConnection != null) queueConnection.close(); } catch (JMSException e) { } - isConnected = false; - } - - @Override - public void onMessage(Message jmsMessage) { - Transaction transaction = null; - messageCount++; - try { - final TextMessage txtMessage = (TextMessage) jmsMessage; - final String message = txtMessage.getText(); - System.out.println(message); - final String[] parts = message.split(":"); - transaction = new Transaction("pactasks"); - transaction.beginTransaction(); - final EntityManager em = transaction.getEntityManager(); - final Query qPac = em.createQuery("SELECT p FROM Pacs p WHERE p.name = :name"); - qPac.setParameter("name", parts[1]); - final Pac pac = (Pac) qPac.getSingleResult(); - final PacProcessorFactory factory = new PacProcessorFactory(); - Processor proc = null; - if ("pac.add".equals(parts[0])) { - proc = factory.createCreateProcessor(em, pac); - } - if ("pac.update".equals(parts[0])) { - proc = factory.createUpdateProcessor(em, pac); - } - if ("pac.delete".equals(parts[0])) { - proc = factory.createDeleteProcessor(em, pac); - } - transaction.enqueue(pac.getHiveName(), new QueueTask(pac.owningUser(em), parts[0] + ":" + parts[1], message, proc)); - em.clear(); - em.flush(); - transaction.commitTransaction(); - } catch (Exception e) { - errorCount++; - if (transaction != null) transaction.rollbackTransaction(); - throw new TechnicalException(e); - } finally { - if (transaction != null) transaction.close(); - } - } - - @Override - public void onException(JMSException exception) { - close(); - try { Thread.sleep(10000); } catch (InterruptedException e) { } - try { connect(); } catch (NamingException e) { } - } - -} diff --git a/hsarback/src/main/java/de/hsadmin/servlets/QueueStatusReceiverServlet.java b/hsarback/src/main/java/de/hsadmin/servlets/QueueStatusReceiverServlet.java index eed9ffa..1fad1fe 100644 --- a/hsarback/src/main/java/de/hsadmin/servlets/QueueStatusReceiverServlet.java +++ b/hsarback/src/main/java/de/hsadmin/servlets/QueueStatusReceiverServlet.java @@ -2,6 +2,7 @@ package de.hsadmin.servlets; import java.io.IOException; import java.io.PrintWriter; +import java.util.Set; import javax.jms.ExceptionListener; import javax.jms.JMSException; @@ -16,6 +17,8 @@ import javax.jms.QueueSession; import javax.jms.Session; import javax.naming.Context; import javax.naming.InitialContext; +import javax.naming.NameClassPair; +import javax.naming.NamingEnumeration; import javax.naming.NamingException; import javax.persistence.EntityManager; import javax.servlet.ServletConfig; @@ -24,9 +27,13 @@ import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.activemq.ActiveMQConnection; +import org.apache.activemq.command.ActiveMQQueue; + import de.hsadmin.core.model.TechnicalException; import de.hsadmin.core.model.TicketValidator; import de.hsadmin.core.model.Transaction; +import de.hsadmin.core.qserv.NullProcessor; import de.hsadmin.core.qserv.Processor; import de.hsadmin.core.qserv.QueueTask; import de.hsadmin.core.util.Config; @@ -66,6 +73,24 @@ public class QueueStatusReceiverServlet extends HttpServlet jmsUser = config.getProperty("hsadmin.jms.username", "hsadmin"); jmsPass = config.getProperty("hsadmin.jms.password", "hsadmin-pw"); InitialContext ctx = new InitialContext(); + NamingEnumeration list = ctx.list("java:comp/env/jms"); + Transaction transaction = new Transaction("anonymous"); + transaction.beginTransaction(); + EntityManager entityManager = transaction.getEntityManager(); + while (list.hasMore()) { + NameClassPair pair = list.next(); + String jndiName = pair.getName(); + if (jndiName != null && jndiName.startsWith("hsadminSystem-")) { + QueueTask task = new QueueTask(); + task.setProcessor(new NullProcessor()); + entityManager.persist(task); + entityManager.flush(); + String hive = jndiName.substring(14); + transaction.enqueue(hive, task); + } + } + transaction.commitTransaction(); + transaction.close(); Context env = (Context) ctx.lookup("java:comp/env"); queueConnectionFactory = (QueueConnectionFactory) env.lookup("jms/QueueCF"); int timeoutCounter = 10; @@ -73,6 +98,9 @@ public class QueueStatusReceiverServlet extends HttpServlet try { queueConnection = queueConnectionFactory.createQueueConnection(jmsUser, jmsPass); queueConnection.setExceptionListener(this); + if (queueConnection instanceof ActiveMQConnection) { + checkQueues((ActiveMQConnection) queueConnection, new PrintWriter(System.out)); + } queueSession = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); Queue queue = (Queue) env.lookup("jms/hsadminStatus"); queueConnection.start(); @@ -89,6 +117,19 @@ public class QueueStatusReceiverServlet extends HttpServlet } } + private void checkQueues(ActiveMQConnection amqConn, PrintWriter writer) { + try { + writer.print("\n"); + Set queues = amqConn.getDestinationSource().getQueues(); + for (ActiveMQQueue queue : queues) { + writer.print("Phys: " + queue.getPhysicalName() + " - Qual: " + queue.getQualifiedName() + "\n"); + } + } catch (JMSException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { @@ -97,6 +138,9 @@ public class QueueStatusReceiverServlet extends HttpServlet writer.println("Verbindungsstatus: " + (isConnected ? "OK" : "ERROR")); writer.println("Verarbeitete Nachrichten: " + messageCount); writer.println("Verarbeitungsfehler: " + errorCount); + if (queueConnection instanceof ActiveMQConnection) { + checkQueues((ActiveMQConnection) queueConnection, writer); + } writer.close(); } diff --git a/hsarback/src/main/webapp/META-INF/context.xml b/hsarback/src/main/webapp/META-INF/context.xml index 5d2ca88..808ab2b 100644 --- a/hsarback/src/main/webapp/META-INF/context.xml +++ b/hsarback/src/main/webapp/META-INF/context.xml @@ -30,9 +30,4 @@ global="jms/hsadminStatus" type="javax.jms.Queue"/> - - diff --git a/hsarback/src/main/webapp/META-INF/dev-context.xml b/hsarback/src/main/webapp/META-INF/dev-context.xml deleted file mode 100644 index 5d2ca88..0000000 --- a/hsarback/src/main/webapp/META-INF/dev-context.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/hsarback/src/main/webapp/META-INF/prod-context.xml b/hsarback/src/main/webapp/META-INF/prod-context.xml deleted file mode 100644 index dd3249c..0000000 --- a/hsarback/src/main/webapp/META-INF/prod-context.xml +++ /dev/null @@ -1,598 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hsarback/src/main/webapp/META-INF/test-context.xml b/hsarback/src/main/webapp/META-INF/test-context.xml deleted file mode 100644 index 5d2ca88..0000000 --- a/hsarback/src/main/webapp/META-INF/test-context.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/hsarback/src/main/webapp/WEB-INF/web.xml b/hsarback/src/main/webapp/WEB-INF/web.xml index a0178f5..7b91d45 100644 --- a/hsarback/src/main/webapp/WEB-INF/web.xml +++ b/hsarback/src/main/webapp/WEB-INF/web.xml @@ -22,12 +22,6 @@ 1 - - Queue PacTasks Servlet - de.hsadmin.servlets.PacTasksServlet - 1 - - XmlRpcServlet de.hsadmin.remote.HSXmlRpcServlet @@ -57,11 +51,6 @@ /xmlrpc/* - - Queue PacTasks Servlet - /queuePacTasks - - jdbc/HSAdminDB javax.sql.DataSource @@ -99,11 +88,5 @@ Container Shareable - - jms/hsadminSystem-pactasks - javax.jms.Queue - Container - Shareable - \ No newline at end of file diff --git a/qserv-deploy/pom.xml b/qserv-deploy/pom.xml index 3df226c..e7bf49f 100644 --- a/qserv-deploy/pom.xml +++ b/qserv-deploy/pom.xml @@ -3,8 +3,8 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 4.0.0 de.hsadmin - hsadmin-qserv - 4.0.9 + hsadmin-deploy + 4.0.10 jar HSAdmin-QServ @@ -20,7 +20,7 @@ de.hsadmin.core hsadmin-qserv - 4.0.9 + 4.0.10 org.apache.activemq @@ -89,15 +89,6 @@ 640 - - src/deb/etc/keystore - file - - perm - /etc/hsadmin/qserv - 640 - - src/deb/systemd/hsadmin-qserv.service file diff --git a/qserv-deploy/src/deb/etc/keystore b/qserv-deploy/src/deb/etc/keystore deleted file mode 100644 index dff26bcf20b5faf76e3e459e9c68a687ef51975e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4444 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 znsef85e`4.0.0 de.hsadmin.core hsadmin-qserv - 4.0.9 + 4.0.10 UTF-8 11 @@ -13,7 +13,7 @@ de.hsadmin.core hsadmin-util - 4.0.9 + 4.0.10 commons-lang diff --git a/qserv/src/main/java/de/hsadmin/core/model/Transaction.java b/qserv/src/main/java/de/hsadmin/core/model/Transaction.java index 75b87f3..0299433 100644 --- a/qserv/src/main/java/de/hsadmin/core/model/Transaction.java +++ b/qserv/src/main/java/de/hsadmin/core/model/Transaction.java @@ -12,7 +12,6 @@ import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.persistence.EntityManager; -import javax.persistence.EntityTransaction; import javax.persistence.Query; import org.apache.openjpa.persistence.OpenJPAEntityManager; @@ -83,20 +82,14 @@ public class Transaction { taskStore.add(task); } - private void sendAll(EntityTransaction transaction) { - boolean firstHive = true; + private void sendAll() { for (String hive : taskStores.keySet()) { QueueTaskStore store = taskStores.get(hive); String queueName = "hsadminSystem-" + hive; -// queueName = "hsadminSystem-h99"; // FIXME nicht committen !!! Queue jmsSystemQueue = lookupJMSQueue(queueName); QueueClient qClient = null; try { qClient = new QueueClient(queueConnectionFactory, jmsSystemQueue); - if (firstHive) { - firstHive = false; - transaction.commit(); - } for (QueueTask task : store.getTasks()) { qClient.send(task); } @@ -107,13 +100,6 @@ public class Transaction { if (qClient != null) qClient.close(); } } - if (firstHive) { - try { - transaction.commit(); - } catch (Exception e) { - throw new TechnicalException(e); - } - } } public void beginTransaction() { @@ -122,7 +108,8 @@ public class Transaction { } public void commitTransaction() { - sendAll(entityManager.getTransaction()); + sendAll(); + entityManager.getTransaction().commit(); transactionActive = false; } diff --git a/qserv/src/main/java/de/hsadmin/core/qserv/QueueServer.java b/qserv/src/main/java/de/hsadmin/core/qserv/QueueServer.java index 3834263..8f0a356 100644 --- a/qserv/src/main/java/de/hsadmin/core/qserv/QueueServer.java +++ b/qserv/src/main/java/de/hsadmin/core/qserv/QueueServer.java @@ -84,7 +84,7 @@ public class QueueServer extends QueueCommons implements MessageListener, Except } }); while (!qServ.connect()) { - Thread.sleep(10000); + Thread.sleep(120000); } while (true) { Thread.sleep(10000); diff --git a/qserv/src/main/java/de/hsadmin/core/qserv/QueueTask.java b/qserv/src/main/java/de/hsadmin/core/qserv/QueueTask.java index 23cc72c..6ef6086 100644 --- a/qserv/src/main/java/de/hsadmin/core/qserv/QueueTask.java +++ b/qserv/src/main/java/de/hsadmin/core/qserv/QueueTask.java @@ -67,6 +67,13 @@ public class QueueTask extends AbstractEntity implements Serializable { private String exception; public QueueTask() { + this.user = null; + this.title = "ping"; + this.details = null; + this.started = new Date(); + this.finished = null; + this.proc = null; + this.exception = null; } public QueueTask(UnixUser user, String title, String details, Processor proc) { diff --git a/util/pom.xml b/util/pom.xml index 4b4b61c..1faf055 100644 --- a/util/pom.xml +++ b/util/pom.xml @@ -4,7 +4,7 @@ 4.0.0 de.hsadmin.core hsadmin-util - 4.0.9 + 4.0.10 UTF-8 11