[qpid-jms] branch master updated: QPIDJMS-525 Update to latest netty release 4.1.56.Final
This is an automated email from the ASF dual-hosted git repository. tabish pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/qpid-jms.git The following commit(s) were added to refs/heads/master by this push: new 8cd7093 QPIDJMS-525 Update to latest netty release 4.1.56.Final 8cd7093 is described below commit 8cd7093b9abea0cd4c4dee31931cb096b73a03fa Author: Timothy Bish AuthorDate: Thu Dec 17 18:36:13 2020 -0500 QPIDJMS-525 Update to latest netty release 4.1.56.Final --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 9fdbd85..d81b849 100644 --- a/pom.xml +++ b/pom.xml @@ -37,7 +37,7 @@ 0.33.8 -4.1.55.Final +4.1.56.Final 1.7.30 2.14.0 1.0-alpha-2 - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
[qpid-dispatch] branch master updated: DISPATCH-1780: workaround for older python (include needs to be first in file)
This is an automated email from the ASF dual-hosted git repository. gsim pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/qpid-dispatch.git The following commit(s) were added to refs/heads/master by this push: new 8ba6cdc DISPATCH-1780: workaround for older python (include needs to be first in file) 8ba6cdc is described below commit 8ba6cdcd743a3ea6ed5365875561db91d7f62882 Author: Gordon Sim AuthorDate: Thu Dec 17 21:59:38 2020 + DISPATCH-1780: workaround for older python (include needs to be first in file) --- src/adaptors/http1/http1_client.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/adaptors/http1/http1_client.c b/src/adaptors/http1/http1_client.c index befe499..4093c10 100644 --- a/src/adaptors/http1/http1_client.c +++ b/src/adaptors/http1/http1_client.c @@ -17,9 +17,9 @@ * under the License. */ +#include "python_private.h" #include "http1_private.h" #include "adaptors/adaptor_utils.h" -#include "python_private.h" #include #include - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
[qpid-dispatch] branch master updated: DISPATCH-1894: Make nghttp2 library not required. This closes #964.
This is an automated email from the ASF dual-hosted git repository. gmurthy pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/qpid-dispatch.git The following commit(s) were added to refs/heads/master by this push: new 31372e1 DISPATCH-1894: Make nghttp2 library not required. This closes #964. 31372e1 is described below commit 31372e1be2f2057b4bb696d270de20ba990f3913 Author: Ganesh Murthy AuthorDate: Wed Dec 16 20:01:34 2020 -0500 DISPATCH-1894: Make nghttp2 library not required. This closes #964. --- CMakeLists.txt | 5 ++- src/CMakeLists.txt | 10 +++-- src/adaptors/http2/http2_adaptor_none.c | 72 + tests/CMakeLists.txt| 6 ++- 4 files changed, 87 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1f649af..5dd4aaa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -59,12 +59,13 @@ find_package(PythonLibs REQUIRED) find_package(Threads REQUIRED) find_package(Proton 0.33.0 REQUIRED COMPONENTS Core Proactor) message(STATUS "Found Proton: ${Proton_LIBRARIES} (found version \"${Proton_VERSION}\")" ) -find_package(libnghttp2 1.4.0 REQUIRED) - ## ## Optional dependencies ## +# http2 support is optional +find_package(libnghttp2 1.4.0) + # Web Sockets find_package(LibWebSockets 2.4.2) CMAKE_DEPENDENT_OPTION(USE_LIBWEBSOCKETS "Use libwebsockets for WebSocket support" ON diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c934240..e4cc0ba 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -41,7 +41,6 @@ set(qpid_dispatch_SOURCES adaptors/reference_adaptor.c adaptors/adaptor_utils.c adaptors/http_common.c - adaptors/http2/http2_adaptor.c adaptors/http1/http1_codec.c adaptors/http1/http1_adaptor.c adaptors/http1/http1_client.c @@ -146,8 +145,13 @@ else(USE_LIBWEBSOCKETS) list(APPEND qpid_dispatch_SOURCES http-none.c) endif(USE_LIBWEBSOCKETS) -list(APPEND qpid_dispatch_INCLUDES ${NGHTTP2_INCLUDE_DIRS}) -list(APPEND qpid_dispatch_LIBRARIES ${NGHTTP2_LIBRARIES}) +if(libnghttp2_FOUND) + list(APPEND qpid_dispatch_SOURCES adaptors/http2/http2_adaptor.c) + list(APPEND qpid_dispatch_INCLUDES ${NGHTTP2_INCLUDE_DIRS}) + list(APPEND qpid_dispatch_LIBRARIES ${NGHTTP2_LIBRARIES}) +else(libnghttp2_FOUND) + list(APPEND qpid_dispatch_SOURCES adaptors/http2/http2_adaptor_none.c) +endif(libnghttp2_FOUND) # DISPATCH-654 There are, in fact, no strict-aliasing violations and newer compilers don't complain. if (CMAKE_C_COMPILER_ID STREQUAL "GNU") diff --git a/src/adaptors/http2/http2_adaptor_none.c b/src/adaptors/http2/http2_adaptor_none.c new file mode 100644 index 000..49c152e --- /dev/null +++ b/src/adaptors/http2/http2_adaptor_none.c @@ -0,0 +1,72 @@ +/* + * 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. + */ + +#include "adaptors/http_common.h" + +// +// Empty implementation of management related http2 functions. +// The nghttp2 library was not found, so no http2 functionality provided. +// + +/** + * Configure listener. + */ +qd_http_listener_t *qd_http2_configure_listener(qd_dispatch_t *qd, const qd_http_bridge_config_t *config, qd_entity_t *entity) +{ +qd_log_source_t *log_source = qd_log_source(QD_HTTP_LOG_SOURCE); +char *port = qd_entity_get_string(entity, "port"); +qd_log(log_source, QD_LOG_ERROR, "HTTP2 adaptor not activated due to missing nghttp2 library. Cannot open listener on port %s", port); +free(port); +return 0; +} + +/** + * Delete listener via Management request + * Empty implementation. + */ +void qd_http2_delete_listener(qd_dispatch_t *qd, qd_http_listener_t *li) +{ +qd_log_source_t *log_source = qd_log_source(QD_HTTP_LOG_SOURCE); +qd_log(log_source, QD_LOG_ERROR, "HTTP2 adaptor not activated due to missing nghttp2 library. Cannot delete listeners"); +} + + +/** + * Configure connector + */ +qd_http_connector_t *qd_http2_configure_connector(qd_dispatch_t *qd, const qd_http_bridge_config_t *config, qd_entity_t *entity) +{ +qd_log_source_t *log_source = qd_log_source(QD_HTTP_LOG_SOURCE); +char *port = qd_entity_get_string(entity, "port"); +qd_log(log_source, QD_LOG_ERROR, "
[qpid-dispatch] branch master updated: DISPATCH-1895: Modify tcp self test not to use http listeners
This is an automated email from the ASF dual-hosted git repository. chug pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/qpid-dispatch.git The following commit(s) were added to refs/heads/master by this push: new 276514d DISPATCH-1895: Modify tcp self test not to use http listeners 276514d is described below commit 276514d3755aa075bdb04d8b1599c2f859073dd5 Author: Chuck Rolke AuthorDate: Thu Dec 17 15:08:44 2020 -0500 DISPATCH-1895: Modify tcp self test not to use http listeners As noted in jira comment, the test failure is the http-libwebsockets code doing a wild 64-bit realloc. The failure has nothing to do with the tcp test itself and should be directed to a new jira blaming the libwebsockets code. That said, the tcp test is using http listeners purely for easier test debugging. The http listeners may be removed with no loss of test functionality and that is what this patch does. --- tests/system_tests_tcp_adaptor.py | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/system_tests_tcp_adaptor.py b/tests/system_tests_tcp_adaptor.py index 236f4c5..301b1bc 100644 --- a/tests/system_tests_tcp_adaptor.py +++ b/tests/system_tests_tcp_adaptor.py @@ -159,7 +159,7 @@ class TcpAdaptor(TestCase): nodest_listener_ports = {} # Each router has a console listener -http_listener_ports = {} +#http_listener_ports = {} # local timeout in seconds to wait for one echo client to finish echo_timeout = 30 @@ -183,7 +183,7 @@ class TcpAdaptor(TestCase): Launch a router through the system_test framework. For each router: * normal listener first - * http listener for console connections + #* http listener for console connections * tcp listener for 'nodest', which will never exist * tcp connector to echo server whose address is the same as this router's name * six tcp listeners, one for each server on each router on the network @@ -196,7 +196,7 @@ class TcpAdaptor(TestCase): config = [ ('router', {'mode': mode, 'id': name}), ('listener', {'port': cls.amqp_listener_ports[name]}), -('listener', {'port': cls.http_listener_ports[name], 'http': 'yes'}), +#('listener', {'port': cls.http_listener_ports[name], 'http': 'yes'}), ('tcpListener', {'host': "0.0.0.0", 'port': cls.nodest_listener_ports[name], 'address': 'nodest', @@ -235,7 +235,7 @@ class TcpAdaptor(TestCase): tl_ports[tcp_listener] = cls.tester.get_port() cls.tcp_client_listener_ports[rtr] = tl_ports cls.nodest_listener_ports[rtr] = cls.tester.get_port() -cls.http_listener_ports[rtr] = cls.tester.get_port() +#cls.http_listener_ports[rtr] = cls.tester.get_port() inter_router_port_AB = cls.tester.get_port() inter_router_port_BC = cls.tester.get_port() @@ -263,8 +263,8 @@ class TcpAdaptor(TestCase): (rtr, tcp_listener, cls.tcp_client_listener_ports[rtr][tcp_listener])) p_out.append("%s_nodest_listener=%d" % (rtr, cls.nodest_listener_ports[rtr])) -p_out.append("%s_http_listener=%d" % - (rtr, cls.http_listener_ports[rtr])) +#p_out.append("%s_http_listener=%d" % +# (rtr, cls.http_listener_ports[rtr])) p_out.append("inter_router_port_AB=%d" % inter_router_port_AB) p_out.append("inter_router_port_BC=%d" % inter_router_port_BC) p_out.append("INTA_edge_port=%d" % cls.INTA_edge_port) - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
svn commit: r45007 - /release/qpid/jms/0.54.0/
Author: robbie Date: Thu Dec 17 17:32:55 2020 New Revision: 45007 Log: remove older release Removed: release/qpid/jms/0.54.0/ - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
svn commit: r45006 - /release/qpid/jms/0.56.0/
Author: robbie Date: Thu Dec 17 17:32:36 2020 New Revision: 45006 Log: add files for qpid-jms 0.56.0 Added: release/qpid/jms/0.56.0/ - copied from r45005, dev/qpid/jms/0.56.0-rc1/ - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
[qpid-dispatch] branch master updated: DISPATCH-1887: host override option
This is an automated email from the ASF dual-hosted git repository. gsim pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/qpid-dispatch.git The following commit(s) were added to refs/heads/master by this push: new ebcd9f0 DISPATCH-1887: host override option ebcd9f0 is described below commit ebcd9f0d23a1d3fc5fd4ca79c20771048c3cd3c5 Author: Gordon Sim AuthorDate: Wed Dec 16 21:47:22 2020 + DISPATCH-1887: host override option --- python/qpid_dispatch/management/qdrouter.json | 6 ++ src/adaptors/http1/http1_adaptor.c| 1 + src/adaptors/http1/http1_private.h| 1 + src/adaptors/http1/http1_server.c | 19 +-- src/adaptors/http_common.c| 2 ++ src/adaptors/http_common.h| 1 + 6 files changed, 28 insertions(+), 2 deletions(-) diff --git a/python/qpid_dispatch/management/qdrouter.json b/python/qpid_dispatch/management/qdrouter.json index 0efab69..89a35a2 100644 --- a/python/qpid_dispatch/management/qdrouter.json +++ b/python/qpid_dispatch/management/qdrouter.json @@ -1195,6 +1195,12 @@ "required": false, "description": "Enables restricted event mode where no reponses are sent to request and only post is allowed", "create": true +}, +"hostOverride": { +"type": "string", +"required": false, +"description": "Used to override the value of the Host header sent to the client.", +"create": true } } }, diff --git a/src/adaptors/http1/http1_adaptor.c b/src/adaptors/http1/http1_adaptor.c index 931d268..6ce1ead 100644 --- a/src/adaptors/http1/http1_adaptor.c +++ b/src/adaptors/http1/http1_adaptor.c @@ -123,6 +123,7 @@ void qdr_http1_connection_free(qdr_http1_connection_t *hconn) free(hconn->cfg.port); free(hconn->cfg.address); free(hconn->cfg.site); +free(hconn->cfg.host_override); free(hconn->cfg.host_port); free(hconn->client.client_ip_addr); diff --git a/src/adaptors/http1/http1_private.h b/src/adaptors/http1/http1_private.h index 59074d1..858efb5 100644 --- a/src/adaptors/http1/http1_private.h +++ b/src/adaptors/http1/http1_private.h @@ -142,6 +142,7 @@ struct qdr_http1_connection_t { char *host_port; bool event_channel; qd_http_aggregation_t aggregation; +char *host_override; } cfg; // State if connected to an HTTP client diff --git a/src/adaptors/http1/http1_server.c b/src/adaptors/http1/http1_server.c index a0837bf..706c1e3 100644 --- a/src/adaptors/http1/http1_server.c +++ b/src/adaptors/http1/http1_server.c @@ -54,6 +54,7 @@ ALLOC_DECLARE(_server_response_msg_t); ALLOC_DEFINE(_server_response_msg_t); DEQ_DECLARE(_server_response_msg_t, _server_response_msg_list_t); +const char *HOST_KEY = "Host"; // // State for an HTTP/1.x Request+Response exchange, server facing @@ -157,6 +158,7 @@ static qdr_http1_connection_t *_create_server_connection(qd_http_connector_t *ct ctor->ctx = (void*)hconn; hconn->cfg.event_channel = bconfig->event_channel; hconn->cfg.aggregation = bconfig->aggregation; +hconn->cfg.host_override = bconfig->host_override ? qd_strdup(bconfig->host_override) : 0; // for initiating a connection to the server hconn->server.reconnect_timer = qd_timer(qdr_http1_adaptor->core->qd, _do_reconnect, hconn); @@ -1280,8 +1282,20 @@ static uint64_t _send_request_headers(_server_request_t *hreq, qd_message_t *msg if (!i_key) break; -// ignore the special headers added by the mapping -if (!qd_iterator_prefix(i_key, HTTP1_HEADER_PREFIX)) { +if (hconn->cfg.host_override && qd_iterator_equal(i_key, (const unsigned char*) HOST_KEY)) { +//if host override option is in use, write the configured +//value rather than that submitted by client +char *header_key = (char*) qd_iterator_copy(i_key); +qd_log(qdr_http1_adaptor->log, QD_LOG_TRACE, + "[C%"PRIu64"][L%"PRIu64"] Encoding request header %s:%s", + hconn->conn_id, hconn->out_link_id, + header_key, hconn->cfg.host_override); + +ok = !h1_codec_tx_add_header(hreq->base.lib_rs, header_key, hconn->cfg.host_override); + +free(header_key); +} else if (!qd_iterator_prefix(i_key, HTTP1_HEADER_PREFIX)) { +// ignore the special headers added by the mapping qd_iterator_t *i_value = qd_parse_raw(value); if (!i_value) break; @@ -1300,6 +1314,7 @@ static uint64_t _send_request_headers(_server_request_t *hreq, qd_message_t *msg free(header_value); } + key = qd_field_next_child(value); } diff --git a/src/
[qpid-dispatch] branch master updated: DISPATCH-1780: initial support for aggregated multicast
This is an automated email from the ASF dual-hosted git repository. gsim pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/qpid-dispatch.git The following commit(s) were added to refs/heads/master by this push: new 5593989 DISPATCH-1780: initial support for aggregated multicast 5593989 is described below commit 5593989c3e117d993a1676706aac1875673a0d94 Author: Gordon Sim AuthorDate: Mon Nov 2 22:03:40 2020 + DISPATCH-1780: initial support for aggregated multicast --- include/qpid/dispatch/http1_codec.h | 19 ++ python/qpid_dispatch/management/qdrouter.json | 30 +++ python/qpid_dispatch_internal/router/message.py | 17 +- src/adaptors/http1/http1_client.c | 305 +++- src/adaptors/http1/http1_codec.c| 100 +++- src/adaptors/http1/http1_private.h | 3 +- src/adaptors/http1/http1_server.c | 45 +++- src/adaptors/http_common.c | 13 + src/adaptors/http_common.h | 8 + src/python_embedded.c | 69 ++ src/python_private.h| 6 + 11 files changed, 590 insertions(+), 25 deletions(-) diff --git a/include/qpid/dispatch/http1_codec.h b/include/qpid/dispatch/http1_codec.h index 8aac8c4..79dfcbf 100644 --- a/include/qpid/dispatch/http1_codec.h +++ b/include/qpid/dispatch/http1_codec.h @@ -231,6 +231,10 @@ int h1_codec_tx_add_header(h1_codec_request_state_t *hrs, const char *key, const // int h1_codec_tx_body(h1_codec_request_state_t *hrs, qd_message_stream_data_t *stream_data); +// Write body as string +// +int h1_codec_tx_body_str(h1_codec_request_state_t *hrs, char *data); + // outgoing message construction complete. The request_complete() callback MAY // occur during this call. // @@ -241,5 +245,20 @@ int h1_codec_tx_body(h1_codec_request_state_t *hrs, qd_message_stream_data_t *st // int h1_codec_tx_done(h1_codec_request_state_t *hrs, bool *need_close); +// begin multipart content; this will generate a boundary marker and set the content type header +// +int h1_codec_tx_begin_multipart(h1_codec_request_state_t *hrs); + +// begin a new multipart section +// +int h1_codec_tx_begin_multipart_section(h1_codec_request_state_t *hrs); + +// mark the end of multipart data +// +int h1_codec_tx_end_multipart(h1_codec_request_state_t *hrs); + +uint64_t h1_codec_tx_multipart_section_boundary_length(); +uint64_t h1_codec_tx_multipart_end_boundary_length(); + #endif // http1_codec_H diff --git a/python/qpid_dispatch/management/qdrouter.json b/python/qpid_dispatch/management/qdrouter.json index 792515d..0efab69 100644 --- a/python/qpid_dispatch/management/qdrouter.json +++ b/python/qpid_dispatch/management/qdrouter.json @@ -1124,6 +1124,21 @@ "default": "HTTP1", "required": false, "create": true +}, +"aggregation": { +"type": [ +"multipart", +"json" +], +"required": false, +"description": "Aggregation mode for responses when used in conjunction with multicast address.", +"create": true +}, +"eventChannel": { +"type": "boolean", +"required": false, +"description": "Enables restricted event mode where no reponses are sent to request and only post is allowed", +"create": true } } }, @@ -1165,6 +1180,21 @@ "default": "HTTP1", "required": false, "create": true +}, +"aggregation": { +"type": [ +"multipart", +"json" +], +"required": false, +"description": "Aggregation mode for responses when used in conjunction with multicast address.", +"create": true +}, +"eventChannel": { +"type": "boolean", +"required": false, +"description": "Enables restricted event mode where no reponses are sent to request and only post is allowed", +"create": true } } }, diff --git a/python/qpid_dispatch_internal/router/message.py b/python/qpid_dispatch_internal/router/message.py index ed73288..eb3ef7a 100644 --- a/python/qpid_dispatch_internal/router/message.py +++ b/python/qpid_dispatch_internal/router/message.py @@ -16,11 +16,11 @@ # specific language governing permissions and limitations # under the License # - from __future__ import unicode_literals from __future__ import division from __future__ im
[qpid-jms] branch master updated: NO-JIRA: update (or delete as unused) some mock usage to stop using deprecated method
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/qpid-jms.git The following commit(s) were added to refs/heads/master by this push: new 709cee2 NO-JIRA: update (or delete as unused) some mock usage to stop using deprecated method 709cee2 is described below commit 709cee28e2f22b7d860ac14e5a7f570e691ecd43 Author: Robbie Gemmell AuthorDate: Thu Dec 17 12:36:16 2020 + NO-JIRA: update (or delete as unused) some mock usage to stop using deprecated method --- .../jms/tracing/opentracing/OpenTracingIntegrationTest.java | 12 .../qpid/jms/tracing/opentracing/OpenTracingTracerTest.java | 9 - 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/tracing/opentracing/OpenTracingIntegrationTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/tracing/opentracing/OpenTracingIntegrationTest.java index f1e20f5..ed4cf2c 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/tracing/opentracing/OpenTracingIntegrationTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/tracing/opentracing/OpenTracingIntegrationTest.java @@ -74,11 +74,7 @@ import org.apache.qpid.proton.amqp.DescribedType; import org.apache.qpid.proton.amqp.Symbol; import org.apache.qpid.proton.amqp.UnsignedInteger; import org.hamcrest.Matchers; -import org.junit.Before; import org.junit.Test; -import org.mockito.ArgumentCaptor; -import org.mockito.Captor; -import org.mockito.MockitoAnnotations; import io.opentracing.Span; import io.opentracing.SpanContext; @@ -93,14 +89,6 @@ import io.opentracing.tag.Tags; public class OpenTracingIntegrationTest extends QpidJmsTestCase { -@Captor -private ArgumentCaptor> annotationMapCaptor; - -@Before -public void setUp() { -MockitoAnnotations.initMocks(this); -} - @Test(timeout = 2) public void testSend() throws Exception { try (TestAmqpPeer testPeer = new TestAmqpPeer();) { diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/tracing/opentracing/OpenTracingTracerTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/tracing/opentracing/OpenTracingTracerTest.java index 2b8ccce..e6a2d90 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/tracing/opentracing/OpenTracingTracerTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/tracing/opentracing/OpenTracingTracerTest.java @@ -41,6 +41,7 @@ import org.apache.qpid.jms.test.QpidJmsTestCase; import org.apache.qpid.jms.tracing.JmsTracer; import org.apache.qpid.jms.tracing.JmsTracer.DeliveryOutcome; import org.apache.qpid.jms.tracing.TraceableMessage; +import org.junit.After; import org.junit.Before; import org.junit.Test; import org.mockito.ArgumentCaptor; @@ -67,10 +68,16 @@ public class OpenTracingTracerTest extends QpidJmsTestCase { @Captor private ArgumentCaptor> annotationMapCaptor; +private AutoCloseable closable; @Before public void setUp() { -MockitoAnnotations.initMocks(this); +closable = MockitoAnnotations.openMocks(this); +} + +@After +public void tearDown() throws Exception { +closable.close(); } @Test - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org