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.

上一篇:第五周博客作业 <西北师范大学| 周安伟>


下一篇:如何优雅的使用RabbitMQ