You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2018/01/11 15:44:39 UTC
[1/3] qpid-jms-amqp-0-x git commit: QPID-8074: [JMS AMQP 0-x][System
Tests] Copy client specofic test ConnectionTest from Broker-J sources
Repository: qpid-jms-amqp-0-x
Updated Branches:
refs/heads/master 63c595372 -> a21316270
QPID-8074: [JMS AMQP 0-x][System Tests] Copy client specofic test ConnectionTest from Broker-J sources
Project: http://git-wip-us.apache.org/repos/asf/qpid-jms-amqp-0-x/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms-amqp-0-x/commit/9374adf0
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms-amqp-0-x/tree/9374adf0
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms-amqp-0-x/diff/9374adf0
Branch: refs/heads/master
Commit: 9374adf037a790dab9e6beef50e3842c434fe551
Parents: 63c5953
Author: Alex Rudyy <or...@apache.org>
Authored: Thu Jan 11 11:41:44 2018 +0000
Committer: Alex Rudyy <or...@apache.org>
Committed: Thu Jan 11 11:41:44 2018 +0000
----------------------------------------------------------------------
.../apache/qpid/systest/core/BrokerAdmin.java | 3 +-
.../core/brokerj/SpawnQpidBrokerAdmin.java | 6 +
.../qpid/systest/connection/ConnectionTest.java | 326 +++++++++++++++++++
3 files changed, 334 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-jms-amqp-0-x/blob/9374adf0/systests/src/main/java/org/apache/qpid/systest/core/BrokerAdmin.java
----------------------------------------------------------------------
diff --git a/systests/src/main/java/org/apache/qpid/systest/core/BrokerAdmin.java b/systests/src/main/java/org/apache/qpid/systest/core/BrokerAdmin.java
index befba5f..136d3f0 100644
--- a/systests/src/main/java/org/apache/qpid/systest/core/BrokerAdmin.java
+++ b/systests/src/main/java/org/apache/qpid/systest/core/BrokerAdmin.java
@@ -43,10 +43,11 @@ public interface BrokerAdmin
String getValidUsername();
String getValidPassword();
+ String getVirtualHostName();
String getType();
- BrokerType getBrokerType();
+ BrokerType getBrokerType();
Connection getConnection() throws JMSException;
Connection getConnection(Map<String, String> options) throws JMSException;
http://git-wip-us.apache.org/repos/asf/qpid-jms-amqp-0-x/blob/9374adf0/systests/src/main/java/org/apache/qpid/systest/core/brokerj/SpawnQpidBrokerAdmin.java
----------------------------------------------------------------------
diff --git a/systests/src/main/java/org/apache/qpid/systest/core/brokerj/SpawnQpidBrokerAdmin.java b/systests/src/main/java/org/apache/qpid/systest/core/brokerj/SpawnQpidBrokerAdmin.java
index 8842e83..913b018 100644
--- a/systests/src/main/java/org/apache/qpid/systest/core/brokerj/SpawnQpidBrokerAdmin.java
+++ b/systests/src/main/java/org/apache/qpid/systest/core/brokerj/SpawnQpidBrokerAdmin.java
@@ -219,6 +219,12 @@ public class SpawnQpidBrokerAdmin implements BrokerAdmin
}
@Override
+ public String getVirtualHostName()
+ {
+ return _virtualHostNodeName;
+ }
+
+ @Override
public String getType()
{
return SpawnQpidBrokerAdmin.class.getSimpleName();
http://git-wip-us.apache.org/repos/asf/qpid-jms-amqp-0-x/blob/9374adf0/systests/src/test/java/org/apache/qpid/systest/connection/ConnectionTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/systest/connection/ConnectionTest.java b/systests/src/test/java/org/apache/qpid/systest/connection/ConnectionTest.java
new file mode 100644
index 0000000..ce62831
--- /dev/null
+++ b/systests/src/test/java/org/apache/qpid/systest/connection/ConnectionTest.java
@@ -0,0 +1,326 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.qpid.systest.connection;
+
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+import static org.junit.Assume.assumeThat;
+
+import java.net.InetSocketAddress;
+import java.util.Enumeration;
+
+import javax.jms.Connection;
+import javax.jms.ConnectionMetaData;
+import javax.jms.QueueSession;
+import javax.jms.TopicSession;
+
+import org.junit.Test;
+
+import org.apache.qpid.QpidException;
+import org.apache.qpid.client.AMQConnection;
+import org.apache.qpid.client.AMQConnectionURL;
+import org.apache.qpid.client.AMQQueue;
+import org.apache.qpid.client.AMQSession;
+import org.apache.qpid.client.AMQTopic;
+import org.apache.qpid.configuration.ClientProperties;
+import org.apache.qpid.exchange.ExchangeDefaults;
+import org.apache.qpid.jms.Session;
+import org.apache.qpid.systest.core.BrokerAdmin;
+import org.apache.qpid.systest.core.JmsTestBase;
+
+public class ConnectionTest extends JmsTestBase
+{
+ private static final String BROKER_URL_TEMPLATE = "tcp://%s:%d?failover='nofailover'";
+ private static final String CONNECTION_URL_TEMPLATE = "amqp://%s:%s@%s/%s?brokerlist='%s'";
+ private static final String USER1 = "guest";
+ private static final String USER1_PASSWORD = "guest";
+ private static final String USER2 = "admin";
+ private static final String USER2_PASSWORD = "admin";
+
+ @Test
+ public void testDefaultExchanges() throws Exception
+ {
+ assumeThat("0-10 c++ broker doesn't implement wacky exchanges",
+ getBrokerAdmin().getBrokerType(),
+ is(equalTo(BrokerAdmin.BrokerType.BROKERJ)));
+
+ String connectionUrlTemplate = CONNECTION_URL_TEMPLATE
+ + "&defaultQueueExchange='test.direct'"
+ + "&defaultTopicExchange='test.topic'"
+ + "&temporaryQueueExchange='tmp.direct'"
+ + "&temporaryTopicExchange='tmp.topic'";
+ BrokerAdmin admin = getBrokerAdmin();
+ InetSocketAddress brokerAddress = admin.getBrokerAddress(BrokerAdmin.PortType.AMQP);
+ String brokerUrl = String.format(BROKER_URL_TEMPLATE, brokerAddress.getHostName(), brokerAddress.getPort());
+ String urlString = String.format(connectionUrlTemplate,
+ admin.getValidUsername(),
+ admin.getValidPassword(),
+ getTestName(),
+ admin.getVirtualHostName(),
+ brokerUrl);
+ AMQConnection conn = new AMQConnection(new AMQConnectionURL(urlString));
+ try
+ {
+
+ AMQSession sess = (AMQSession) conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+ sess.declareExchange("test.direct", ExchangeDefaults.DIRECT_EXCHANGE_CLASS, false);
+
+ sess.declareExchange("tmp.direct", ExchangeDefaults.DIRECT_EXCHANGE_CLASS, false);
+
+ sess.declareExchange("tmp.topic", ExchangeDefaults.TOPIC_EXCHANGE_CLASS, false);
+
+ sess.declareExchange("test.topic", ExchangeDefaults.TOPIC_EXCHANGE_CLASS, false);
+
+ QueueSession queueSession = conn.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
+
+ AMQQueue queue = (AMQQueue) queueSession.createQueue("MyQueue");
+
+ assertEquals(queue.getExchangeName(), "test.direct");
+
+ AMQQueue tempQueue = (AMQQueue) queueSession.createTemporaryQueue();
+
+ assertEquals(tempQueue.getExchangeName(), "tmp.direct");
+
+ queueSession.close();
+
+ TopicSession topicSession = conn.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
+
+ AMQTopic topic = (AMQTopic) topicSession.createTopic("silly.topic");
+
+ assertEquals(topic.getExchangeName(), "test.topic");
+
+ AMQTopic tempTopic = (AMQTopic) topicSession.createTemporaryTopic();
+
+ assertEquals(tempTopic.getExchangeName(), "tmp.topic");
+
+ topicSession.close();
+ }
+ finally
+ {
+ conn.close();
+ }
+ }
+
+ @Test
+ public void testClientIdIsPopulatedAutomatically() throws Exception
+ {
+ BrokerAdmin admin = getBrokerAdmin();
+ InetSocketAddress brokerAddress = admin.getBrokerAddress(BrokerAdmin.PortType.AMQP);
+ String brokerUrl = String.format(BROKER_URL_TEMPLATE, brokerAddress.getHostName(), brokerAddress.getPort());
+ Connection connection = new AMQConnection(brokerUrl,
+ admin.getValidUsername(),
+ admin.getValidPassword(),
+ null,
+ admin.getVirtualHostName());
+ try
+ {
+ assertNotNull(connection.getClientID());
+ }
+ finally
+ {
+ connection.close();
+ }
+ connection.close();
+ }
+
+ @Test
+ public void testUnsupportedSASLMechanism() throws Exception
+ {
+ BrokerAdmin admin = getBrokerAdmin();
+ InetSocketAddress brokerAddress = admin.getBrokerAddress(BrokerAdmin.PortType.AMQP);
+ String brokerUrl = String.format(BROKER_URL_TEMPLATE + "&sasl_mechs='%s'", brokerAddress.getHostName(),
+ brokerAddress.getPort(), "MY_MECH");
+
+ try
+ {
+ new AMQConnection(brokerUrl,
+ admin.getValidUsername(),
+ admin.getValidPassword(),
+ null,
+ admin.getVirtualHostName());
+ fail("The client should throw a ConnectionException stating the" +
+ " broker does not support the SASL mech specified by the client");
+ }
+ catch (QpidException e)
+ {
+ if (getProtocol().equals("0-10"))
+ {
+ assertTrue("Unexpected exception message : " + e.getMessage(),
+ e.getMessage().contains("Client and broker have no SASL mechanisms in common."));
+ assertTrue("Unexpected exception message : " + e.getMessage(),
+ e.getMessage().contains("Client restricted itself to : MY_MECH"));
+ }
+ else
+ {
+ assertTrue("Unexpected exception message : " + e.getMessage(),
+ e.getMessage().contains("No supported security mechanism found"));
+ }
+ }
+ }
+
+ /**
+ * Tests that when the same user connects twice with same clientid, the second connection
+ * fails if the clientid verification feature is enabled (which uses a dummy 0-10 Session
+ * with the clientid as its name to detect the previous usage of the clientid by the user)
+ */
+ @Test
+ public void testClientIDVerificationForSameUser() throws Exception
+ {
+ assumeThat("QPID-3396: 0-10 client specific behaviour",
+ getProtocol(),
+ is(equalTo("0-10")));
+
+ System.setProperty(ClientProperties.QPID_VERIFY_CLIENT_ID, "true");
+ try
+ {
+ BrokerAdmin admin = getBrokerAdmin();
+ InetSocketAddress brokerAddress = admin.getBrokerAddress(BrokerAdmin.PortType.AMQP);
+ String brokerUrl = String.format(BROKER_URL_TEMPLATE, brokerAddress.getHostName(), brokerAddress.getPort());
+ Connection con = new AMQConnection(brokerUrl,
+ admin.getValidUsername(),
+ admin.getValidPassword(),
+ "client_id",
+ admin.getVirtualHostName());
+ try
+ {
+
+ new AMQConnection(brokerUrl,
+ admin.getValidUsername(),
+ admin.getValidPassword(),
+ "client_id",
+ admin.getVirtualHostName());
+
+ fail("The client should throw a ConnectionException stating the" +
+ " client ID is not unique");
+ }
+ catch (QpidException e)
+ {
+ assertTrue("Incorrect exception thrown: " + e.getMessage(),
+ e.getMessage().contains("ClientID must be unique"));
+ }
+ finally
+ {
+ con.close();
+ }
+ }
+ finally
+ {
+ System.clearProperty(ClientProperties.QPID_VERIFY_CLIENT_ID);
+ }
+ }
+
+ /**
+ * Tests that when different users connects with same clientid, the second connection
+ * succeeds even though the clientid verification feature is enabled (which uses a dummy
+ * 0-10 Session with the clientid as its name; these are only verified unique on a
+ * per-principal basis)
+ */
+ @Test
+ public void testClientIDVerificationForDifferentUsers() throws Exception
+ {
+ System.setProperty(ClientProperties.QPID_VERIFY_CLIENT_ID, "true");
+ try
+ {
+ BrokerAdmin admin = getBrokerAdmin();
+ InetSocketAddress brokerAddress = admin.getBrokerAddress(BrokerAdmin.PortType.AMQP);
+ String brokerUrl = String.format(BROKER_URL_TEMPLATE, brokerAddress.getHostName(), brokerAddress.getPort());
+
+ String clientId = "client_id";
+ Connection con = new AMQConnection(brokerUrl, USER1, USER1_PASSWORD,
+ clientId, admin.getVirtualHostName());
+ try
+ {
+ Connection con2 = new AMQConnection(brokerUrl, USER2, USER2_PASSWORD,
+ clientId, admin.getVirtualHostName());
+ try
+ {
+ assertNotNull(con2.createSession(false, Session.AUTO_ACKNOWLEDGE));
+ }
+ finally
+ {
+ con2.close();
+ }
+ }
+ finally
+ {
+ con.close();
+ }
+ }
+ finally
+ {
+ System.clearProperty(ClientProperties.QPID_VERIFY_CLIENT_ID);
+ }
+ }
+
+ @Test
+ public void testExceptionWhenUserPassIsRequired() throws Exception
+ {
+ assumeThat("QPID-3396: NPE is thrown on 0-8..0-10.",
+ getProtocol(),
+ is(equalTo("0-10")));
+
+ BrokerAdmin admin = getBrokerAdmin();
+ InetSocketAddress brokerAddress = admin.getBrokerAddress(BrokerAdmin.PortType.AMQP);
+ String brokerUrl = String.format(BROKER_URL_TEMPLATE, brokerAddress.getHostName(), brokerAddress.getPort())
+ + "&sasl_mechs='PLAIN%2520CRAM-MD5'";
+ String urlString = String.format("amqp:///%s?brokerlist='%s'", admin.getVirtualHostName(), brokerUrl);
+ AMQConnection conn = null;
+ try
+ {
+ conn = new AMQConnection(urlString);
+ fail("Exception should be thrown as user name and password is required");
+ }
+ catch (Exception e)
+ {
+ if (!e.getMessage().contains("Username and Password is required for the selected mechanism"))
+ {
+ if (conn != null && !conn.isClosed())
+ {
+ conn.close();
+ }
+ fail("Incorrect Exception thrown! The exception thrown is : " + e.getMessage());
+ }
+ }
+ }
+
+ @Test
+ public void testConnectionMetadata() throws Exception
+ {
+ Connection con = getConnection();
+ ConnectionMetaData metaData = con.getMetaData();
+ assertNotNull(metaData);
+
+ assertNotNull("Provider version unexpectedly null", metaData.getProviderVersion());
+ assertTrue("Provider version unexpectedly empty", metaData.getProviderVersion().length() > 0);
+
+ assertTrue("Provider major version has unexpected value", metaData.getProviderMajorVersion() > -1);
+ assertTrue("Provider minor version has unexpected value", metaData.getProviderMinorVersion() > -1);
+
+ Enumeration names = metaData.getJMSXPropertyNames();
+ assertNotNull("JMSXPropertyNames unexpectedly null", names);
+ assertTrue("JMSXPropertyNames should have at least one name", names.hasMoreElements());
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org
[2/3] qpid-jms-amqp-0-x git commit: QPID-8074: [JMS AMQP 0-x][System
Tests] Run system tests as part of integration-test maven phase
Posted by or...@apache.org.
QPID-8074: [JMS AMQP 0-x][System Tests] Run system tests as part of integration-test maven phase
* Change surefire settings to run system tests as part of integration-test maven phase
* Change surefire settings to have separate working directories per amqp protocol
* Describe how to run system tests in README.txt
* Fix typos
* Miscellaneous minor improvements
Project: http://git-wip-us.apache.org/repos/asf/qpid-jms-amqp-0-x/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms-amqp-0-x/commit/450005bf
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms-amqp-0-x/tree/450005bf
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms-amqp-0-x/diff/450005bf
Branch: refs/heads/master
Commit: 450005bf555c51e688e5c046f4a9684017a73a55
Parents: 9374adf
Author: Alex Rudyy <or...@apache.org>
Authored: Thu Jan 11 15:38:38 2018 +0000
Committer: Alex Rudyy <or...@apache.org>
Committed: Thu Jan 11 15:38:38 2018 +0000
----------------------------------------------------------------------
README.txt | 12 +++++++++
systests/pom.xml | 28 ++++++++++++++------
.../core/brokerj/SpawnQpidBrokerAdmin.java | 27 ++++++++-----------
.../core/brokerj/SpawnQpidBrokerAdminTest.java | 11 +++-----
4 files changed, 47 insertions(+), 31 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-jms-amqp-0-x/blob/450005bf/README.txt
----------------------------------------------------------------------
diff --git a/README.txt b/README.txt
index 9766138..ad0f65b 100644
--- a/README.txt
+++ b/README.txt
@@ -18,6 +18,18 @@ Perform a subset of the tests
mvn verify -Dtest=TestNamePattern* -DfailIfNoTests=false
+Execute system tests against Broker-J using Java 8 or above
+
+ mvn verify -Pbroker-j
+
+Execute system tests with AMQP 0-9-1 against Broker-J using Java 8 and above
+
+ mvn verify -Pbroker-j -Dqpid.amqp.version=0-9-1
+
+Execute system tests against Broker-J using Java 7 and specifying a path to Java 8 executable to run the broker
+
+ mvn verify -Pbroker-j -Dqpid.systest.java8.executable=/usr/java/jdk1.8.0_121/bin/java
+
Execute the unit tests and then produce the code coverage report
mvn test jacoco:report
http://git-wip-us.apache.org/repos/asf/qpid-jms-amqp-0-x/blob/450005bf/systests/pom.xml
----------------------------------------------------------------------
diff --git a/systests/pom.xml b/systests/pom.xml
index 7d8cdc1..1ace38f 100644
--- a/systests/pom.xml
+++ b/systests/pom.xml
@@ -30,10 +30,6 @@
<name>Apache Qpid JMS AMQP 0-x System Tests</name>
<description>Apache Qpid JMS AMQP 0-x System Tests</description>
- <properties>
- <qpid.amqp.version>0-10</qpid.amqp.version>
- </properties>
-
<dependencies>
<dependency>
@@ -120,11 +116,23 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
+ <skip>true</skip>
<systemPropertyVariables>
- <qpid.amqp.version>${qpid.amqp.version}</qpid.amqp.version>
<qpid.dest_syntax>BURL</qpid.dest_syntax>
</systemPropertyVariables>
</configuration>
+ <executions>
+ <execution>
+ <id>integration-test</id>
+ <phase>integration-test</phase>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ <configuration>
+ <skip>false</skip>
+ </configuration>
+ </execution>
+ </executions>
</plugin>
</plugins>
</build>
@@ -144,13 +152,15 @@
For example, -Dqpid.amqp.version=0-9-1 can be set to test 0-9-1.
Examples of running tests:
- mvn test -Pbroker-j
- mvn test -Pbroker-j -Dqpid.amqp.version=0-9-1 -Dqpid.systest.java8.executable=/usr/java/jdk1.8.0_121/bin/java
+ mvn verify -Pbroker-j
+ mvn verify -Pbroker-j -Dqpid.amqp.version=0-9-1 -Dqpid.systest.java8.executable=/usr/java/jdk1.8.0_121/bin/java
-->
<profile>
<id>broker-j</id>
<properties>
+ <qpid.amqp.version>0-10</qpid.amqp.version>
+ <surefire.working.directory>${project.build.directory}${file.separator}surefire-reports${file.separator}${qpid.amqp.version}</surefire.working.directory>
<qpid-broker-j-version>7.0.0</qpid-broker-j-version>
<qpid.systest.broker_admin>org.apache.qpid.systest.core.brokerj.SpawnQpidBrokerAdmin</qpid.systest.broker_admin>
<qpid.systest.java8.executable>java</qpid.systest.java8.executable>
@@ -163,7 +173,9 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
+ <workingDirectory>${surefire.working.directory}</workingDirectory>
<systemPropertyVariables>
+ <qpid.amqp.version>${qpid.amqp.version}</qpid.amqp.version>
<qpid.systest.brokerj.dependencies>${qpid.systest.brokerj.dependencies}</qpid.systest.brokerj.dependencies>
<qpid.systest.java8.executable>${qpid.systest.java8.executable}</qpid.systest.java8.executable>
<qpid.systest.build.classpath.file>${project.build.directory}/qpid.build.classpath.txt</qpid.systest.build.classpath.file>
@@ -171,7 +183,7 @@
<qpid.systest.broker_admin>${qpid.systest.broker_admin}</qpid.systest.broker_admin>
<qpid.systest.virtualhostnode.type>JSON</qpid.systest.virtualhostnode.type>
<qpid.systest.virtualhost.blueprint>${qpid.systest.virtualhost.blueprint}</qpid.systest.virtualhost.blueprint>
- <qpid.systest.logback.logs_dir>${project.basedir}${file.separator}target${file.separator}surefire-reports</qpid.systest.logback.logs_dir>
+ <qpid.systest.logback.logs_dir>${surefire.working.directory}</qpid.systest.logback.logs_dir>
<qpid.systest.broker.clean.between.tests>true</qpid.systest.broker.clean.between.tests>
</systemPropertyVariables>
</configuration>
http://git-wip-us.apache.org/repos/asf/qpid-jms-amqp-0-x/blob/450005bf/systests/src/main/java/org/apache/qpid/systest/core/brokerj/SpawnQpidBrokerAdmin.java
----------------------------------------------------------------------
diff --git a/systests/src/main/java/org/apache/qpid/systest/core/brokerj/SpawnQpidBrokerAdmin.java b/systests/src/main/java/org/apache/qpid/systest/core/brokerj/SpawnQpidBrokerAdmin.java
index 913b018..1569854 100644
--- a/systests/src/main/java/org/apache/qpid/systest/core/brokerj/SpawnQpidBrokerAdmin.java
+++ b/systests/src/main/java/org/apache/qpid/systest/core/brokerj/SpawnQpidBrokerAdmin.java
@@ -23,7 +23,6 @@ package org.apache.qpid.systest.core.brokerj;
import static java.nio.charset.StandardCharsets.UTF_8;
import java.io.BufferedReader;
-import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
@@ -74,8 +73,8 @@ import org.apache.qpid.systest.core.BrokerAdmin;
import org.apache.qpid.systest.core.BrokerAdminException;
import org.apache.qpid.systest.core.dependency.ClasspathQuery;
import org.apache.qpid.systest.core.logback.LogbackPropertyValueDiscriminator;
-import org.apache.qpid.systest.core.util.FileUtils;
import org.apache.qpid.systest.core.logback.LogbackSocketPortNumberDefiner;
+import org.apache.qpid.systest.core.util.FileUtils;
import org.apache.qpid.systest.core.util.SystemUtils;
public class SpawnQpidBrokerAdmin implements BrokerAdmin
@@ -89,13 +88,13 @@ public class SpawnQpidBrokerAdmin implements BrokerAdmin
private static final String SYSTEST_PROPERTY_BROKER_PROCESS = "qpid.systest.broker.process";
private static final String SYSTEST_PROPERTY_SPAWN_BROKER_STARTUP_TIME = "qpid.systest.broker_startup_time";
private static final String SYSTEST_PROPERTY_BROKER_CLEAN_BETWEEN_TESTS = "qpid.systest.broker.clean.between.tests";
+ private static final String SYSTEST_PROPERTY_JAVA_EXECUTABLE = "qpid.systest.java8.executable";
static final String SYSTEST_PROPERTY_VIRTUALHOSTNODE_TYPE = "qpid.systest.virtualhostnode.type";
static final String SYSTEST_PROPERTY_VIRTUALHOST_BLUEPRINT = "qpid.systest.virtualhost.blueprint";
static final String SYSTEST_PROPERTY_INITIAL_CONFIGURATION_LOCATION = "qpid.systest.initialConfigurationLocation";
static final String SYSTEST_PROPERTY_BUILD_CLASSPATH_FILE = "qpid.systest.build.classpath.file";
- static final String SYSTEST_PROPERTY_JAVA8_EXECUTABLE = "qpid.systest.java8.executable";
- static final String SYSTEST_PROPERTY_BROKERJ_DEPENDECIES = "qpid.systest.brokerj.dependencies";
+ static final String SYSTEST_PROPERTY_BROKERJ_DEPENDENCIES = "qpid.systest.brokerj.dependencies";
private final static AtomicLong BROKER_INSTANCE_COUNTER = new AtomicLong();
@@ -305,7 +304,7 @@ public class SpawnQpidBrokerAdmin implements BrokerAdmin
File file = new File(System.getProperty(SYSTEST_PROPERTY_BUILD_CLASSPATH_FILE));
if (!file.exists())
{
- String dependencies = System.getProperty(SYSTEST_PROPERTY_BROKERJ_DEPENDECIES);
+ String dependencies = System.getProperty(SYSTEST_PROPERTY_BROKERJ_DEPENDENCIES);
final ClasspathQuery classpathQuery = new ClasspathQuery(SpawnQpidBrokerAdmin.class,
Arrays.asList(dependencies.split(",")));
classpath = classpathQuery.getClasspath();
@@ -328,7 +327,7 @@ public class SpawnQpidBrokerAdmin implements BrokerAdmin
}
}
- jvmArguments.add(0, System.getProperty(SYSTEST_PROPERTY_JAVA8_EXECUTABLE, "/usr/bin/java"));
+ jvmArguments.add(0, System.getProperty(SYSTEST_PROPERTY_JAVA_EXECUTABLE, "java"));
jvmArguments.add(1, "-cp");
jvmArguments.add(2, classpath);
jvmArguments.add("-Dqpid.systest.logback.socket.port="
@@ -587,7 +586,7 @@ public class SpawnQpidBrokerAdmin implements BrokerAdmin
}
catch (JMSException e)
{
- throw new BrokerAdminException(String.format("Cannot create virtual host %s", virtualHostNodeName), e);
+ throw new BrokerAdminException(String.format("Cannot create virtual host '%s'", virtualHostNodeName), e);
}
}
@@ -605,7 +604,7 @@ public class SpawnQpidBrokerAdmin implements BrokerAdmin
}
catch (AmqpManagementFacade.OperationUnsuccessfulException e)
{
- throw new BrokerAdminException(String.format("Cannot create test virtual host '%s'", virtualHostNodeName),
+ throw new BrokerAdminException(String.format("Cannot update test virtual host '%s'", virtualHostNodeName),
e);
}
finally
@@ -757,23 +756,19 @@ public class SpawnQpidBrokerAdmin implements BrokerAdmin
private String dumpThreads()
{
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
try
{
Process process = Runtime.getRuntime().exec("jstack " + _pid);
- InputStream is = process.getInputStream();
- byte[] buffer = new byte[1024];
- int length;
- while ((length = is.read(buffer)) != -1)
+ try (InputStream is = process.getInputStream())
{
- baos.write(buffer, 0, length);
+ return new String(ByteStreams.toByteArray(is));
}
}
- catch (Exception e)
+ catch (IOException e)
{
LOGGER.error("Error whilst collecting thread dump for " + _pid, e);
}
- return new String(baos.toByteArray());
+ return "";
}
http://git-wip-us.apache.org/repos/asf/qpid-jms-amqp-0-x/blob/450005bf/systests/src/test/java/org/apache/qpid/systest/core/brokerj/SpawnQpidBrokerAdminTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/systest/core/brokerj/SpawnQpidBrokerAdminTest.java b/systests/src/test/java/org/apache/qpid/systest/core/brokerj/SpawnQpidBrokerAdminTest.java
index c4140a2..f33e714 100644
--- a/systests/src/test/java/org/apache/qpid/systest/core/brokerj/SpawnQpidBrokerAdminTest.java
+++ b/systests/src/test/java/org/apache/qpid/systest/core/brokerj/SpawnQpidBrokerAdminTest.java
@@ -20,19 +20,16 @@
*/
package org.apache.qpid.systest.core.brokerj;
-import static org.apache.qpid.systest.core.brokerj.SpawnQpidBrokerAdmin.SYSTEST_PROPERTY_BROKERJ_DEPENDECIES;
+import static org.apache.qpid.systest.core.brokerj.SpawnQpidBrokerAdmin.SYSTEST_PROPERTY_BROKERJ_DEPENDENCIES;
import static org.apache.qpid.systest.core.brokerj.SpawnQpidBrokerAdmin.SYSTEST_PROPERTY_BUILD_CLASSPATH_FILE;
import static org.apache.qpid.systest.core.brokerj.SpawnQpidBrokerAdmin.SYSTEST_PROPERTY_INITIAL_CONFIGURATION_LOCATION;
-import static org.apache.qpid.systest.core.brokerj.SpawnQpidBrokerAdmin.SYSTEST_PROPERTY_JAVA8_EXECUTABLE;
import static org.apache.qpid.systest.core.brokerj.SpawnQpidBrokerAdmin.SYSTEST_PROPERTY_VIRTUALHOST_BLUEPRINT;
import static org.apache.qpid.systest.core.brokerj.SpawnQpidBrokerAdmin.SYSTEST_PROPERTY_VIRTUALHOSTNODE_TYPE;
-import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.notNullValue;
import static org.junit.Assert.fail;
import static org.junit.Assume.assumeThat;
-import java.io.File;
import java.util.Hashtable;
import javax.jms.Connection;
@@ -270,9 +267,9 @@ public class SpawnQpidBrokerAdminTest
{
assumeThat(String.format("Broker-J classpath property (%s) is not set", SYSTEST_PROPERTY_BUILD_CLASSPATH_FILE),
System.getProperty(SYSTEST_PROPERTY_BUILD_CLASSPATH_FILE), is(notNullValue()));
- assumeThat(String.format("Broker dependencies property (%s) is not set", SYSTEST_PROPERTY_BROKERJ_DEPENDECIES),
- System.getProperty(SYSTEST_PROPERTY_BROKERJ_DEPENDECIES), is(notNullValue()));
+ assumeThat(String.format("Broker dependencies property (%s) is not set", SYSTEST_PROPERTY_BROKERJ_DEPENDENCIES),
+ System.getProperty(SYSTEST_PROPERTY_BROKERJ_DEPENDENCIES), is(notNullValue()));
assumeThat(String.format("Broker-J initial configuration property (%s) is not set", SYSTEST_PROPERTY_INITIAL_CONFIGURATION_LOCATION),
System.getProperty(SYSTEST_PROPERTY_INITIAL_CONFIGURATION_LOCATION), is(notNullValue()));
}
-}
\ No newline at end of file
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org
[3/3] qpid-jms-amqp-0-x git commit: QPID-8074: [JMS AMQP 0-x][System
Tests] Segregate broker test logs with client test logs in the same log file
Posted by or...@apache.org.
QPID-8074: [JMS AMQP 0-x][System Tests] Segregate broker test logs with client test logs in the same log file
Project: http://git-wip-us.apache.org/repos/asf/qpid-jms-amqp-0-x/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms-amqp-0-x/commit/a2131627
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms-amqp-0-x/tree/a2131627
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms-amqp-0-x/diff/a2131627
Branch: refs/heads/master
Commit: a21316270ba311e75859bf874464e32fc1c0f351
Parents: 450005b
Author: Alex Rudyy <or...@apache.org>
Authored: Thu Jan 11 15:40:13 2018 +0000
Committer: Alex Rudyy <or...@apache.org>
Committed: Thu Jan 11 15:40:13 2018 +0000
----------------------------------------------------------------------
systests/pom.xml | 3 +-
.../core/brokerj/SpawnQpidBrokerAdmin.java | 206 +++++++++++++++++--
2 files changed, 187 insertions(+), 22 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-jms-amqp-0-x/blob/a2131627/systests/pom.xml
----------------------------------------------------------------------
diff --git a/systests/pom.xml b/systests/pom.xml
index 1ace38f..25e65f0 100644
--- a/systests/pom.xml
+++ b/systests/pom.xml
@@ -161,6 +161,7 @@
<properties>
<qpid.amqp.version>0-10</qpid.amqp.version>
<surefire.working.directory>${project.build.directory}${file.separator}surefire-reports${file.separator}${qpid.amqp.version}</surefire.working.directory>
+ <qpid.systest.broker.clean.between.tests>true</qpid.systest.broker.clean.between.tests>
<qpid-broker-j-version>7.0.0</qpid-broker-j-version>
<qpid.systest.broker_admin>org.apache.qpid.systest.core.brokerj.SpawnQpidBrokerAdmin</qpid.systest.broker_admin>
<qpid.systest.java8.executable>java</qpid.systest.java8.executable>
@@ -184,7 +185,7 @@
<qpid.systest.virtualhostnode.type>JSON</qpid.systest.virtualhostnode.type>
<qpid.systest.virtualhost.blueprint>${qpid.systest.virtualhost.blueprint}</qpid.systest.virtualhost.blueprint>
<qpid.systest.logback.logs_dir>${surefire.working.directory}</qpid.systest.logback.logs_dir>
- <qpid.systest.broker.clean.between.tests>true</qpid.systest.broker.clean.between.tests>
+ <qpid.systest.broker.clean.between.tests>${qpid.systest.broker.clean.between.tests}</qpid.systest.broker.clean.between.tests>
</systemPropertyVariables>
</configuration>
</plugin>
http://git-wip-us.apache.org/repos/asf/qpid-jms-amqp-0-x/blob/a2131627/systests/src/main/java/org/apache/qpid/systest/core/brokerj/SpawnQpidBrokerAdmin.java
----------------------------------------------------------------------
diff --git a/systests/src/main/java/org/apache/qpid/systest/core/brokerj/SpawnQpidBrokerAdmin.java b/systests/src/main/java/org/apache/qpid/systest/core/brokerj/SpawnQpidBrokerAdmin.java
index 1569854..5b54b57 100644
--- a/systests/src/main/java/org/apache/qpid/systest/core/brokerj/SpawnQpidBrokerAdmin.java
+++ b/systests/src/main/java/org/apache/qpid/systest/core/brokerj/SpawnQpidBrokerAdmin.java
@@ -48,7 +48,6 @@ import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
-import java.util.concurrent.atomic.AtomicLong;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -80,7 +79,7 @@ import org.apache.qpid.systest.core.util.SystemUtils;
public class SpawnQpidBrokerAdmin implements BrokerAdmin
{
private static final Logger LOGGER = LoggerFactory.getLogger(SpawnQpidBrokerAdmin.class);
- private static final String BROKER_LOG_PREFIX = "BROKER";
+ private static final String BROKER_LOG_PREFIX = "BRK";
private static final String SYSTEST_PROPERTY_PREFIX = "qpid.systest.";
private static final String SYSTEST_PROPERTY_BROKER_READY = "qpid.systest.broker.ready";
private static final String SYSTEST_PROPERTY_BROKER_STOPPED = "qpid.systest.broker.stopped";
@@ -89,6 +88,16 @@ public class SpawnQpidBrokerAdmin implements BrokerAdmin
private static final String SYSTEST_PROPERTY_SPAWN_BROKER_STARTUP_TIME = "qpid.systest.broker_startup_time";
private static final String SYSTEST_PROPERTY_BROKER_CLEAN_BETWEEN_TESTS = "qpid.systest.broker.clean.between.tests";
private static final String SYSTEST_PROPERTY_JAVA_EXECUTABLE = "qpid.systest.java8.executable";
+ private static final String SYSTEST_PROPERTY_LOGBACK_CONTEXT = "qpid.systest.logback.context";
+ private static final String SYSTEST_PROPERTY_REMOTE_DEBUGGER = "qpid.systest.remote_debugger";
+ private static final String SYSTEST_PROPERTY_LOGBACK_ORIGIN = "qpid.systest.logback.origin";
+ private static final String SYSTEST_PROPERTY_LOGBACK_SOCKET_PORT = "qpid.systest.logback.socket.port";
+
+ private static final String BROKER_TYPE_LOGBACK_SOCKET_LOGGER =
+ "org.apache.qpid.server.logging.logback.BrokerLogbackSocketLogger";
+ private static final String BROKER_TYPE_NAME_AND_LEVEL_LOG_INCLUSION_RULE =
+ "org.apache.qpid.server.logging.logback.BrokerNameAndLevelLogInclusionRule";
+ private static final String BROKER_TYPE_VIRTUAL_HOST_NODE = "org.apache.qpid.VirtualHostNode";
static final String SYSTEST_PROPERTY_VIRTUALHOSTNODE_TYPE = "qpid.systest.virtualhostnode.type";
static final String SYSTEST_PROPERTY_VIRTUALHOST_BLUEPRINT = "qpid.systest.virtualhost.blueprint";
@@ -96,8 +105,6 @@ public class SpawnQpidBrokerAdmin implements BrokerAdmin
static final String SYSTEST_PROPERTY_BUILD_CLASSPATH_FILE = "qpid.systest.build.classpath.file";
static final String SYSTEST_PROPERTY_BROKERJ_DEPENDENCIES = "qpid.systest.brokerj.dependencies";
- private final static AtomicLong BROKER_INSTANCE_COUNTER = new AtomicLong();
-
private volatile List<ListeningPort> _ports;
private volatile Process _process;
private volatile Integer _pid;
@@ -123,7 +130,9 @@ public class SpawnQpidBrokerAdmin implements BrokerAdmin
createVirtualHost(virtualHostNodeName);
_virtualHostNodeName = virtualHostNodeName;
LOGGER.info("========================= executing test : {}#{}", testClass.getSimpleName(), method.getName());
- setClassQualifiedTestName(testClass.getName() + "." + method.getName());
+ String qualifiedTestName = String.format("%s.%s", testClass.getName(), method.getName());
+ createBrokerSocketLoggerAndRulesAndDeleteOldLogger(method.getName() + "Logger", qualifiedTestName);
+ setClassQualifiedTestName(qualifiedTestName);
LOGGER.info("========================= start executing test : {}#{}",
testClass.getSimpleName(),
method.getName());
@@ -136,7 +145,9 @@ public class SpawnQpidBrokerAdmin implements BrokerAdmin
LOGGER.info("========================= stop executing test : {}#{}",
testClass.getSimpleName(),
method.getName());
- setClassQualifiedTestName(testClass.getName());
+ String qualifiedTestName = testClass.getName();
+ createBrokerSocketLoggerAndRulesAndDeleteOldLogger(testClass.getSimpleName(), qualifiedTestName);
+ setClassQualifiedTestName(qualifiedTestName);
LOGGER.info("========================= cleaning up test environment for test : {}#{}",
testClass.getSimpleName(),
method.getName());
@@ -171,8 +182,7 @@ public class SpawnQpidBrokerAdmin implements BrokerAdmin
case AMQP:
for (ListeningPort p : _ports)
{
- if (p.getProtocol() == null
- && (p.getTransport().contains("TCP") /*|| p.getTransport().contains("SSL") */))
+ if (p.getProtocol() == null && (p.getTransport().contains("TCP")))
{
port = p.getPort();
break;
@@ -323,24 +333,24 @@ public class SpawnQpidBrokerAdmin implements BrokerAdmin
if (jvmProperty.startsWith(SYSTEST_PROPERTY_PREFIX)
|| jvmProperty.equalsIgnoreCase("java.io.tmpdir"))
{
- jvmArguments.add("-D" + jvmProperty + "=" + jvmProperties.getProperty(jvmProperty));
+ jvmArguments.add(String.format("-D%s=%s", jvmProperty, jvmProperties.getProperty(jvmProperty)));
}
}
jvmArguments.add(0, System.getProperty(SYSTEST_PROPERTY_JAVA_EXECUTABLE, "java"));
jvmArguments.add(1, "-cp");
jvmArguments.add(2, classpath);
- jvmArguments.add("-Dqpid.systest.logback.socket.port="
- + LogbackSocketPortNumberDefiner.getLogbackSocketPortNumber());
- jvmArguments.add("-Dqpid.systest.logback.logs_dir=" + System.getProperty("qpid.systest.logback.logs_dir",
- "${qpid.work_dir}"));
- jvmArguments.add(String.format("-Dqpid.systest.logback.origin=%s-%d",
+ jvmArguments.add(String.format("-D%s=%d",
+ SYSTEST_PROPERTY_LOGBACK_SOCKET_PORT,
+ LogbackSocketPortNumberDefiner.getLogbackSocketPortNumber()));
+ jvmArguments.add(String.format("-D%s=%s-%s",
+ SYSTEST_PROPERTY_LOGBACK_ORIGIN,
BROKER_LOG_PREFIX,
- BROKER_INSTANCE_COUNTER.getAndIncrement()));
- jvmArguments.add("-Dqpid.systest.logback.context=" + testClass.getName());
- if (System.getProperty("qpid.systest.remote_debugger") != null)
+ testClass.getSimpleName()));
+ jvmArguments.add(String.format("-D%s=%s", SYSTEST_PROPERTY_LOGBACK_CONTEXT, testClass.getName()));
+ if (System.getProperty(SYSTEST_PROPERTY_REMOTE_DEBUGGER) != null)
{
- jvmArguments.add(System.getProperty("qpid.systest.remote_debugger"));
+ jvmArguments.add(System.getProperty(SYSTEST_PROPERTY_REMOTE_DEBUGGER));
}
jvmArguments.add("org.apache.qpid.server.Main");
jvmArguments.add("-prop");
@@ -504,7 +514,7 @@ public class SpawnQpidBrokerAdmin implements BrokerAdmin
try
{
new AmqpManagementFacade().createEntityUsingAmqpManagement(virtualHostNodeName,
- "org.apache.qpid.VirtualHostNode",
+ BROKER_TYPE_VIRTUAL_HOST_NODE,
attributes,
session);
}
@@ -541,7 +551,7 @@ public class SpawnQpidBrokerAdmin implements BrokerAdmin
try
{
new AmqpManagementFacade().deleteEntityUsingAmqpManagement(virtualHostNodeName,
- "org.apache.qpid.VirtualHostNode",
+ BROKER_TYPE_VIRTUAL_HOST_NODE,
session);
}
catch (AmqpManagementFacade.OperationUnsuccessfulException e)
@@ -598,7 +608,7 @@ public class SpawnQpidBrokerAdmin implements BrokerAdmin
try
{
new AmqpManagementFacade().updateEntityUsingAmqpManagement(virtualHostNodeName,
- "org.apache.qpid.VirtualHostNode",
+ BROKER_TYPE_VIRTUAL_HOST_NODE,
attributes,
session);
}
@@ -613,6 +623,160 @@ public class SpawnQpidBrokerAdmin implements BrokerAdmin
}
}
+ private void createBrokerSocketLoggerAndRulesAndDeleteOldLogger(String loggerName, String classQualifiedTestName)
+ {
+ try
+ {
+ AmqpManagementFacade amqpManagementFacade = new AmqpManagementFacade();
+ Connection connection = createConnection("$management");
+ try
+ {
+ connection.start();
+
+ String oldLogger = findOldLogger(amqpManagementFacade, connection);
+ if (oldLogger != null)
+ {
+ removeBrokerLogger(oldLogger, amqpManagementFacade, connection);
+ }
+
+ createBrokerSocketLogger(loggerName, classQualifiedTestName, amqpManagementFacade, connection);
+
+ createBrokerLoggerRule(loggerName, "Root", "ROOT", "INFO", amqpManagementFacade, connection);
+ createBrokerLoggerRule(loggerName,
+ "Qpid",
+ "org.apache.qpid.*",
+ "DEBUG",
+ amqpManagementFacade,
+ connection);
+ createBrokerLoggerRule(loggerName,
+ "Operational",
+ "qpid.message.*",
+ "INFO",
+ amqpManagementFacade,
+ connection);
+ createBrokerLoggerRule(loggerName,
+ "Statistics",
+ "qpid.statistics.*",
+ "INFO",
+ amqpManagementFacade,
+ connection);
+ }
+ finally
+ {
+ connection.close();
+ }
+ }
+ catch (JMSException e)
+ {
+ throw new BrokerAdminException(String.format("Cannot create broker socket logger and rules for '%s'",
+ classQualifiedTestName), e);
+ }
+ }
+
+ private String findOldLogger(final AmqpManagementFacade amqpManagementFacade, final Connection connection)
+ throws JMSException
+ {
+ String oldLoggerName = null;
+ final Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ try
+ {
+ List<Map<String, Object>> loggers =
+ amqpManagementFacade.managementQueryObjects(BROKER_TYPE_LOGBACK_SOCKET_LOGGER,
+ session);
+ for (Map<String, Object> logger : loggers)
+ {
+ if ("BrokerLogbackSocket".equals(logger.get("qpid-type")))
+ {
+ if (oldLoggerName == null)
+ {
+ oldLoggerName = (String) logger.get("name");
+ }
+ else
+ {
+ throw new BrokerAdminException("More than one BrokerLogbackSocket is configured on Broker");
+ }
+ }
+ }
+ }
+ finally
+ {
+ session.close();
+ }
+ return oldLoggerName;
+ }
+
+ private void removeBrokerLogger(final String loggerName,
+ final AmqpManagementFacade amqpManagementFacade,
+ final Connection connection) throws JMSException
+ {
+ final Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ try
+ {
+ amqpManagementFacade.deleteEntityUsingAmqpManagement(loggerName,
+ BROKER_TYPE_LOGBACK_SOCKET_LOGGER,
+ session);
+ }
+ finally
+ {
+ session.close();
+ }
+ }
+
+ private void createBrokerSocketLogger(final String loggerName,
+ final String classQualifiedTestName,
+ final AmqpManagementFacade amqpManagementFacade, final Connection connection)
+ throws JMSException
+ {
+ Map<String, Object> attributes = new HashMap<>();
+ attributes.put("name", loggerName);
+ attributes.put("port", "${" + SYSTEST_PROPERTY_LOGBACK_SOCKET_PORT + "}");
+ attributes.put("type", "BrokerLogbackSocket");
+ attributes.put("qpid-type", "BrokerLogbackSocket");
+ attributes.put("contextProperties", "{\"classQualifiedTestName\" : \"" + classQualifiedTestName + "\"}");
+ attributes.put("mappedDiagnosticContext", "{\"origin\" : \"" + BROKER_LOG_PREFIX + "-" + loggerName + "\"}");
+
+ final Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ try
+ {
+ amqpManagementFacade.createEntityUsingAmqpManagement(loggerName,
+ BROKER_TYPE_LOGBACK_SOCKET_LOGGER,
+ attributes,
+ session);
+ }
+ finally
+ {
+ session.close();
+ }
+ }
+
+ private void createBrokerLoggerRule(final String brokerLoggerName,
+ final String ruleName,
+ final String loggerName,
+ final String loggerLevel,
+ final AmqpManagementFacade amqpManagementFacade, final Connection connection)
+ throws JMSException
+ {
+ final Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ try
+ {
+ final Map<String, Object> attributes = new HashMap<>();
+ attributes.put("name", ruleName);
+ attributes.put("type", "NameAndLevel");
+ attributes.put("qpid-type", "NameAndLevel");
+ attributes.put("object-path", brokerLoggerName);
+ attributes.put("loggerName", loggerName);
+ attributes.put("level", loggerLevel);
+ amqpManagementFacade.createEntityUsingAmqpManagement(ruleName,
+ BROKER_TYPE_NAME_AND_LEVEL_LOG_INCLUSION_RULE,
+ attributes,
+ session);
+ }
+ finally
+ {
+ session.close();
+ }
+ }
+
void shutdown()
{
if (SystemUtils.isWindows())
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org