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 ...
随机推荐
- DFS&&BFS
DFS DFS搜索是按照深度的方向搜索,它类似于树的先根遍历,是树的先根遍历的推广. 1.从图的某个顶点v0出发,首先访问v0, 2.找出刚访问过的顶点的第一个未被访问过的邻接点,然后访问该结点,以该 ...
- bzoj2875随机数生成器
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2875 矩阵乘裸题. 如果直接乘的话会爆long long,所以用加法代替乘,过程中不断取模. ...
- 显示列表控件(引用SourceGrid)
using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; u ...
- 【linux】head&&tail
命令: head[-n][文件名] tail[-n][-f][文件名] 形式: -n 行数 (显示前几行) ...
- NHibernate ConfORM Mapping
前言 昨天写了一篇fluent nhibernate通过约定的代码映射方式,NH在3.0版本以后已经集成了conform的代码映射方式,一直没注意也没使用过,今天试试怎么样. 步骤 1.通过confo ...
- Boost C++ 库 中文教程(全)
Boost C++ 库 目录 第 1 章 简介 第 2 章 智能指针 第 3 章 函数对象 第 4 章 事件处理 第 5 章 字符串处理 第 6 章 多线程 第 7 章 异步输入输出 第 8 章 进程 ...
- Vue 基本用法
Vue的基本用法 模板语法{{ }} 关闭掉 django中提供的模板语法{{ }} 指令系统 v-text v-html v-show和v-if v-bind和v-on v-for v-model ...
- Java之POI的excel导入导出
一.Apache POI是一种流行的API,它允许程序员使用Java程序创建,修改和显示MS Office文件.这由Apache软件基金会开发使用Java分布式设计或修改Microsoft Offic ...
- pythonNet day07
信号 一个进程向另外一个进程通过信号的方式传递某种讯息,接收方在接收到信号后作出相应的处理 查看信号:kill -l kill -signum PID 给PID的进程发送一个信号 信号名称:信号的名字 ...
- Java HashMap 遍历方式探讨
JDK8之前,可以使用keySet或者entrySet来遍历HashMap,JDK8中引入了map.foreach来进行遍历. keySet其实是遍历了2次,一次是转为Iterator对象,另一次是从 ...