KbmMW 4.40.00 测试发布
经过漫长的等待,支持移动开发的kbmmw 4.40.00 终于发布了,这次不但支持各个平台的开发,
而且增加了认证管理器等很多新特性,非常值得升级。具体见下表。
4.40.00 BETA 1 Oct 28 2013
New stuff
=========
- Added properties Cancel:boolean, UniqueID:string,
UniqueCallID:string, RequesterNodeID:string and
RequesterClusterID:string to TkbmMWCustomService. Enables
features for cancelling ongoing request.
- Added full XE5 Win32/Win64/OSX/Android and IOS support. Add
kbmMW and kbmMemTable source directory to Library path
when compiling for Android or IOS.
- Added TkbmMWAuthorizationManager which can be used for
keeping track of resources, actors, logins and authorizations
and constraints.
- Added AuthorizationManager property to TkbmMWServer.
- Added OnPreServeRequest to TkbmMWServer. Provides access to a
request before even authorization manager kicks in.
- Added Cancel method to TkbmMWServer allowing for requesting
cancelation of a specific request.
- Added Enabled property to TkbmMWCustomServerTransport.
- Modified OnAuthenticate event to include AMessage:string
argument.
- Added Transport:string to TkbmMWClientIdentity. Is set on
server to let authentication know from which transport a
request originates.
- Added portable high performance TkbmMWLock (when
KBMMW_SUPPORT_FASTMRWSLOCK is defined (default)) which is
much faster than TEvent/TMutex and
TMultiReadExclusiveWriteSynchronizer.
- Added TkbmMWTiming which provides portable high resolution
time functionality.
- Added TkbmMWInterlocked which provides portable interlocking
functions.
- Added high performance TkbmMWEvent to replace slower TEvent.
- Added ConfigureAffinity, Yield, Sleep, CurrentThreadID,
CurrentThread, ThreadGroup and ThreadAffinityType to
TkbmMWCustomThread.
ThreadGroup allows selection of a thread group which share a
common CPU core affinity. Max 256 threadgroups exists.
Placement of the thread on a CPU core within the defined
affinity is determined by the ThreadAffinityType setting.
Allows for fine tuned thread optimization. Specify affinities
in global variable: kbmMWThreadGroupAffinity.
- Added TkbmMWPlatformMarshal for portable memory/bytes
/utf8/string marshalling.
- Changed kbmMWHashString from a simple xor hash to the better
FNV-1A 32 bit hash.
- Added portable kbmMWGetApplicationName:string returning the
name (typically with path) of the current executable.
- Added optional Mapping:string argument to LoadFromDataset.
Specify sourcefield=destfield;... for custom mapping of
fields.
- Added new WIB message type mwmtEvent (EVT.). Its designed to
be used for sending system/application events. For example
used by the new progress management system, which allows for
a client to subscribe for progress, and a server to push
progress status, for example for long running synchrone or
asynchrone requests (require WIB).
- Added new transport heartbeat functionality via properties
HeartbeatInterval and OnSendHeartbeat. OnSendHeartbeat is
triggered every n seconds, and its the developers
responsibility to then actually send a message/request to
indicate a heartbeat from a client
with help of the SendHeartbeat method on the client transport.
- Added mwsloNullOnValueError as a new SQLite option. Instead
of excepting the field is set to null.
- Added Pause:boolean, PausePriority:byte to TkbmMWCustomQueue.
If Pause=true will pause processing (sending if outbound
queue) messages equal to or lower than PausePriority.
- Added counters TotalPushCount, TotalTentativePopCount,
TotalCommitCount, TotalRollbackCount, TotalRejectCount,
TotalDeleteCount to TkbmMWCustomQueue.
- Added support for multiple events for a single subscription
via the Events property of TkbmMWSubscription.
Now Subscribe adds an additional event if a subscription
allready exists for a particular subscription subject.
Use SubscribeReplace to replace all previously events for a
subscription with another event.
Unsubscribe method now overloaded with multiple methods,
allowing to unsubscribe for a specific event for a subject.
The "old" Unsubscribe unsubscribes all events for the given
subject.
- Added ThreadGroup and ThreadAffinityType to
TkbmMWCustomAsyncMessageProcessor,
TkbmMWCustomAsyncMessageQueueProcessor
and TkbmMWCustomPooledMessageQueueProcessor.
- Added new TkbmMWCustomEventMessage which is the basis for all
WIB based messages that consitutes an event message.
- Added new TkbmMWHeartbeatEventMessage.
- Added properties AsEncodedString, UpperName to
TkbmMWHTTPCustomValue.
- Added Delete, Values, Names, ValueAsString, AsEncodedString
to TkbmMWHTTPCustomValues.
- Added TkbmMWHTTPMimeHeaderValueField,
TkbmMWHTTPMimeHeaderValueFields, TkbmMWHTTPMimeHeaderValue,
TkbmMWHTTPMimeHeaderValues, TkbmMWHTTPMultiPart,
TkbmMWHTTPMultiParts in kbmMWHTTPUtils.pas.
Thus now multipart HTTP messages can be parsed.
- Added TkbmMWHTTPCustomAuthorization and
TkbmMWHTTPBasicAuthorization along with
new function kbmMWParseAuthorization(const
AAuthorizationHeader:string):TkbmMWHTTPCustomAuthorization;
for parsing authorization header.
- Updated TkbmMWHTTPTransportStreamHelper to support new
TkbmMWHTTPMimeHeaderValues, and added HTTPRealm:string
property, and added
Authorization:TkbmMWHTTPCustomAuthorization property.
- Added function
HTTPResponseFromStream(AStream:TkbmMWMemoryStream):variant;
to TkbmMWCustomHTTPService.
- Updated known mimetypes (Added SVG, JSON, TTF, OTF, WOFF,
EOT, MP4, MPEG4)
- Updated known charsets (added JSON = UTF8).
- Added TkbmMWSAFSyncRequestResponseStatus set
(mwbrsTimeout,mwbrsAbort,mwbrsOK) which allows for
a sync/async request to determined if a request has timed
out, been cancelled or proceeded ok.
- Added OnProcessorException to TkbmMWCustomSAFClientTransport
which is triggered if the internal inbound or outbound
processor encounters an exception.
- Added optional APriority argument to AnnounceSubscriptions
method.
- Added OnClientWaitingResponse event to TkbmMWCustomClient.
Its triggered when a request is sent that is blocking (sync).
- Added new TkbmMWProgressManager which can be used to send and
receive progress information via the WIB.
- Added new FireDAC adapter.
Fixes
=====
- Fixed several issues.
KbmMW 4.40.00 测试发布的更多相关文章
- KbmMW 4.40.00 正式版发布
经过快3个月的测试,kbmmw 4.40 正式版终于在圣诞节前发布了. We are happy to announce the availability of a new kbmMW release ...
- kbmmw 5.06.00 beta 发布
原生.高效.可扩展.跨平台通信库来了. we are happy to announce v5.06.00 BETA of our popular middleware for Delphi and ...
- KbmMW 4.50.00 测试版发布
We are happy to announce the release of kbmMW v. 4.50.00 Beta Professional and Enterprise Edition wi ...
- [原]Jenkins(七)---jenkins项目编译测试发布由maven构建的web项目
/** * lihaibo * 文章内容都是根据自己工作情况实践得出. * 版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horizonli/p/533 ...
- kbmMW 5.07.00试用笔记
在kbmMW 5.06.20试用笔记中遇到的问题,在这个版本中,基本都解决了.但还是发现修正后存在的小问题及新问题: 1.Resolve返回值错误 当提交的ClientQuery是执行一条sql语句, ...
- jenkins 实现测试发布、预发布、真实发布、回滚发布
主要思路: 1.做三个文件夹,用于放置不可随意修改的配置文件(测试发布.预发布.真实发布) 2.每次都先修改配置文件再进行构建(构建时会先把配置文件复制到构建的目录,再同步到发布的目录) 3.发布完代 ...
- kbmmw 5.05.00 发布
新年前最后几天,kbmmw 发布了新版本,增加一大波功能.we are happy to announce v5.05.50 of our popular middleware for Delphi ...
- KbmMW 4.30.00 发布
今天早上,KbmMW发布了4.30.00 版,这个版本开始支持XE4 的WIN/WIN64/OSX. 暂时不支持ios开发,同时加强了通过JSON 的对象序列化.还有就是解决了我提交的几个有关 汉字处 ...
- KBMMW 4.92.00 发布
We are happy to announce the release of kbmMW Professional and Enterprise Edition. Yet again kbmMW c ...
随机推荐
- form表单传递对象数组
ajax传递数组.form表单提交对象数组 在JSP页面开发中,我们常常会用到form表单做数据提交,由于以前一直只是使用 form表单提交单个对象,只要表单文本域的name值和接收的对象的属性名一致 ...
- ballerina 学习二十三 扩展ballerina
扩展ballerina 目前有三种方式: 扩展client connector的包 (数据库访问,基础设施,api) 扩展server listenner 绑定为不同的协议 添加新的注解到baller ...
- FastAdmin 的 captcha 是如何来的?
FastAdmin 的 captcha 是如何来的? 如何打开 FastAdmin 的验证吗? 文件位置 C:\www\fastadmin\application\config.php 改 login ...
- MyEclipse 代码里的中文字太小设置方法
General>Appearance>Colors and Fonts>Basic>Text Font >Edit 把脚本字符改成“中欧字符”就可以了
- [bat]批处理删默认共享和清理垃圾
@echo off net share c$ /del net share d$ /del net share e$ /del net share f$ /del net share g$ /del ...
- 在 Laravel 5 中集成七牛云存储实现云存储功能(非上传)
本扩展包基于https://github.com/qiniu/php-sdk开发,是七牛云储存 Laravel 5 Storage版,通过本扩展包可以在Laravel 5中集成七牛云存储功能. 1.安 ...
- leetcode 几何题 位运算 面试编程
[BZOJ][CQOI2014]数三角形 Description给定一个nxm的网格,请计算三点都在格点上的三角形共有多少个.下图为4x4的网格上的一个三角形. 注意三角形的三点不能共线. Input ...
- 关于SSE的一些资料
之前查到的,觉得还不错,一直没时间看,放这里先存着 https://software.intel.com/en-us/articles/using-intel-streaming-simd-exten ...
- Access空字符串和Null值
什么是空字符串和Null值: Microsoft Access可以区分两种类型的空值.因为在某些情况下,字段为空,可能是因为信息目前无法获得,或者字段不适用于某一特定的记录.例如,表中有一个“电话号码 ...
- window.btoa()方法;使字符编码成base64的形式
atob() 函数能够 解码 通过base-64编码的字符串数据.相反地, btoa() 函数能够从二进制数据“字符串” 创建 一个base-64编码的ASCII字符串.