1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

新闻 Qpid Proton 0.8 发布 下载

本帖由 漂亮的石头2014-11-07 发布。版面名称:软件资讯

  1. 漂亮的石头

    漂亮的石头 版主 管理成员

    注册:
    2012-02-10
    帖子:
    485,996
    赞:
    46
    Qpid Proton 0.8 发布,此版本包括大量的 bug 修复,现已提供下载。更新内容请看发行说明

    Bug 修复


    • [PROTON-436] - pn_data_dump is broken for complex types


    • [PROTON-474] - Incorrect mapping of TTL to JMSExpiration in JMS InboundTransformer


    • [PROTON-516] - [proton-c] Dispatcher frame buffer set to peer's max frame size.


    • [PROTON-543] - Frame Parser error if input stream is read before SASL is initialized in the transport


    • [PROTON-576] - proton-j: codec support for UTF-8 encoding and decoding appears broken?


    • [PROTON-582] - Perl language bindings do not properly identify integers from strings when encoding


    • [PROTON-587] - Proton 0.7 fails to compile with Visual Studio 2008


    • [PROTON-590] - If Proton receives a frame with an unexpected performative number it will SEGV


    • [PROTON-592] - Python test function common _ready() fails on windows


    • [PROTON-593] - Scripts for running java examples contain old paths


    • [PROTON-595] - Python test function MessengerApp.start fails on Windows


    • [PROTON-596] - There is no equivalent to 'config.sh' for windows


    • [PROTON-602] - Syntax error in perl bindings Data.pm for perl 10.5.1


    • [PROTON-603] - Python testReclaimCredit fails on Windows


    • [PROTON-604] - Unable to display usage information for perl example send.pl


    • [PROTON-606] - Python testReclaimCredit exposes test server messenger hang on windows


    • [PROTON-607] - Perl recv.pl shows error if a message has no subject


    • [PROTON-608] - seg fault if attach is sent before open and begin


    • [PROTON-610] - proton-c: messenger doesn't honour an advertised remote idle timeout


    • [PROTON-611] - [proton-c] transport buffer increased to peer's max frame size if initial output_size is not enough


    • [PROTON-615] - Cmake binding dependencies wrong (building python binding always; no dependency for include/proton/cproton.i)


    • [PROTON-616] - Use Symbol keys in message annotations


    • [PROTON-617] - Proton map/hash entries can disappear


    • [PROTON-618] - [proton-j] some of the .java source files have crlf line endings, most dont


    • [PROTON-619] - The heuristics in config.sh don't work for all build directory locations


    • [PROTON-624] - Corrupted payload with redelivered messages when transformer is jms


    • [PROTON-625] - prevert looping when map->load_factor exactly equals load


    • [PROTON-627] - Use Symbol keys in delivery annotations


    • [PROTON-631] - Potential null pointer exception if 'x-opt-jms-type' annotation is present but has a null value.


    • [PROTON-641] - pn_connection_t leaked when links not closed


    • [PROTON-646] - Perl message does not have the correct type when the body is a boolean with a FALSE value


    • [PROTON-648] - Memory leaks on aborted connections.


    • [PROTON-655] - URL parser fails to parse ActiveMQ dynamically generated address


    • [PROTON-656] - pn_transport_close_{head, tail} no longer return an error code on framing error.


    • [PROTON-660] - Fix openssl.c build on windows


    • [PROTON-661] - pn_message_save_* do not return correct message size when PN_OVERFLOW


    • [PROTON-666] - TransactionalState applied to indicate the txn-id before sending has no effect on the outgoing transfer frames


    • [PROTON-669] - proton-c: Messenger abstracts away connections, but it would be useful to fail fast for auth errors etc.


    • [PROTON-670] - proton-c: Messenger doesn't provide accessors for the links it is using


    • [PROTON-671] - proton-c: Messenger doesn't provide a way to set the link settlement modes it uses


    • [PROTON-672] - proton-c: Messenger doesn't support setting the transport tracer


    • [PROTON-673] - proton-c: Messenger doesn't provide a way to obtain the remote idle timeout


    • [PROTON-674] - proton-c: Messenger doesn't provide a way of setting the TTL on a subscription


    • [PROTON-675] - proton-c: Messenger doesn't provide a way of setting the SSL peer authentication mode


    • [PROTON-676] - proton-c: transport layer SSL failures not propagated back to Messenger in pni_connection_readable


    • [PROTON-677] - proton-c: transport incorrectly detaches all links with closed=true by default


    • [PROTON-679] - proton-c: add a "manual" link credit mode to Messenger


    • [PROTON-680] - proton-c: Messenger doesn't provide a way of obtaining link or delivery information


    • [PROTON-684] - Restrict IOCP enlistment to pn_selector_t usage scenarios in Windows


    • [PROTON-685] - calling free() on session with multiple Sender or Receiver links leads to ConcurrentModificationException


    • [PROTON-686] - va_copy is C99 (not C89) and is not supported by the Microsoft Visual Studio C compiler before VS 2013


    • [PROTON-687] - Memory corruption in proton-test


    • [PROTON-688] - pn_transport_unbind() doesn't reset all relevant trasnport state


    • [PROTON-689] - Python binding does not expose transport error details


    • [PROTON-690] - Fix Windows components for new Proton object/class refcounting mechanisms


    • [PROTON-694] - splitting contrib/JMSMappingOutboundTransformer's encoding and transformation


    • [PROTON-695] - New URL code causing invalid reads/writes according to valgrind


    • [PROTON-698] - ClassCastException occurs when testing equality of Binary instance against a different type of Object


    • [PROTON-699] - Messenger installed examples send,recv do not compile


    • [PROTON-701] - Windows ctest fixes for proton-c


    • [PROTON-702] - Windows proton-c selector can forget timer events


    • [PROTON-704] - delivery-count is set incorrectly during outbound transformation


    • [PROTON-706] - CMake fails - get_filename_component unknown component DIRECTORY


    • [PROTON-708] - C proton driver needs a getter function to access the pn_error so it can be cleared


    • [PROTON-709] - [proton-c] Windows 64-bit transport issue


    • [PROTON-712] - Seg fault due to missing NULL return value check of getprotobyname


    • [PROTON-714] - SSL buffer overflow with large frames


    • [PROTON-715] - [contrib/proton-jms] delivery-count is set incorrectly during Native outbound transformation


    • [PROTON-716] - Reject SSL clients that attempt to use SSLv3


    • [PROTON-717] - Disable SSL compression


    • [PROTON-718] - disable SSL v3 for proton-j


    • [PROTON-719] - Disable SSL v3 for Windows SChannel


    • [PROTON-720] - [Windows IO] Prints warning string as %d


    • [PROTON-724] - pn_transport_close_head doesn't generate the expected PN_TRANSPORT_HEAD_CLOSED event


    • [PROTON-725] - pni_parse_url does not properly handle Base64 in URL


    • [PROTON-728] - transport aborts when delivery ids are out of sequence

    改进


    • [PROTON-429] - pn_bytes(size_t size, char *start) needs a const on the 'start' argument


    • [PROTON-465] - FindPerlLibs.cmake module in Proton behaves differently to Qpid's Perl detection


    • [PROTON-558] - Make friendly protocol field logging optional for low-memory devices


    • [PROTON-583] - Can move a bunch of things from .data to .rodata by adding const


    • [PROTON-585] - Can improve memory use by rearranging structs to eliminate padding


    • [PROTON-591] - There are two large, mostly empty tables used for dispatching incoming frames


    • [PROTON-597] - Improve the memory footprint of TrasportImpl


    • [PROTON-613] - update java messenger 'send' example behaviour to be more in line with the other language examples


    • [PROTON-620] - Remove unnecessary wrapped types from proton low level bindings


    • [PROTON-628] - split out usage of the buffer in MessageImpl#decode() to its own method


    • [PROTON-640] - IO completion port Windows IO for Proton


    • [PROTON-642] - SASL Servers need to be able to optionally handle clients that don't use SASL


    • [PROTON-647] - Implement an Event.copy or clone method


    • [PROTON-650] - proton-dump should include a man page


    • [PROTON-653] - Expose the version and build details for Proton in the Perl bindings.


    • [PROTON-657] - OSX: build proton with homebrew openssl


    • [PROTON-664] - add pom profile to allow creating souces jar during non-release builds.


    • [PROTON-668] - Document Proton-c IO restrictions for 0.8 release


    • [PROTON-693] - Python Url class to wrap C function pni_parse_url


    • [PROTON-705] - Windows: Allow C based tests to run directly from ctest/Visual Studio without having to set up environment


    • [PROTON-711] - [contrib/proton-jms] add support to message transformers for more efficient destination type annotation value

    新特性


    • [PROTON-581] - SSL/TLS support for Proton-c on Windows


    • [PROTON-630] - [python] Add a setup.py for installing the python bindings via PyPi


    • [PROTON-651] - Export the proton version numbers via the bindings.

    [​IMG]

    Apache Qpid (Open Source AMQP Messaging) 是一个跨平台的企业通讯解决方案,实现了高级消息队列协议。提供了 Java、C++ 两种服务端版本以及 Java、C++、.NET、Python和Ruby语言的客户端。

    其中C++版本的服务器端具备高性能/低消耗以及RDMA支持,可运行于Windows/Linux和Solaris平台;而Java版本的服务器则支持JMS,以及各种平台。

    关于RDMA的相关知识:

    [​IMG]

    RDMA(Remote Direct Memory Access)是通过网络把资料直接传入某台计算机的一块存储区域,不需用到多少计算机的处理功能。普通网卡集成了支持硬件校验和的功能,并对软件进行了 改进,从而减少了发送数据的拷贝量,但无法减少接收数据的拷贝量,而这部分拷贝量要占用处理器的大量计算周期。普通网卡的工作过程如下:先把收到的数据包 缓存到系统上,数据包经过处理后,相应数据被分配到一个TCP连接。下一步,接收系统再把主动提供的TCP数据同相应的应用程序联系起来,并将数据从系统 缓冲区拷贝到目标存储地址。以太网已能满足高性能应用对网络吞吐率的要求,具备高吞吐率和成本优势,以太网技术要跟高性能网络应用挂钩,主要解决的问题是 应用吞吐率。通常情况下,系统持续在主机CPU中处理以太网通信需要占用CPU资源。CPU速率会制约网络数据率;持续处理这类通信会导致CPU性能降 级;对多端口千兆位或单端口10千兆位以太网,这类问题会变得更为严重
    Qpid Proton 0.8 发布下载地址
     
正在加载...