• KBMMW 4.90.00 发布


    kbmMW is a portable, highly scalable, high end application server and
    enterprise architecture integration (EAI) development framework for
    Win32, ..Net and Linux with clients residing on Win32, .Net, Linux,
    Unix, Mainframes, Minis, Embedded and many other places.
    It is currently used as the backbone in hundreds of central systems, in
    hospitals, courts, private, industries, offshore industry, finance,
    telecom, governements, schools, laboratories, rentals, culture
    institutions, FDA approved medical devices, military and more.

    4.90.00 November 7 2015

            Important notes (changes that may break existing code)
            ======================================================
            - Updated TkbmMWOnMessageToSpoke,
              TkbmMWOnMessageToSpokeDeliveryFailed,
              TkbmMWOnMessageToSpokeDeliverySuccess events to include the
              queue.

            New stuff
            =========
            - Added TkbmMWScheduler in new unit kbmMWSceduler.pas (Ent)
              for precise and relaxed event scheduling.
              System scheduler are available via Scheduler instance.
              Check demo for examples of use.
            - Added TkbmMWMemSQL which is an extension to the TkbmMemSQL
              class (Ent).
              It adds syntax for:
               - Defining fieldtypes:
                 SELECT field1 as 'field1->INT'... The field types can be
                   INT,VARCHAR2(n),VARCHAR(n),CHAR(n),BOOL,
                   AUTOINC,FLOAT,NUMERIC,REAL,DATETIME,
                   DATE,TIME,LARGEINT,INT64,BLOB,GRAPHIC,
                   CLOB,TEXT(n),CURRENCY,WORD,MEMO,WIDEMEMO,GUID
               - Operating on XML and JSON data registered with SQL
                 component:
                 SELECT owner AS 'someowner->TEXT(3)',bid,quantity AS
                   'dato->DATE'
                   FROM auctions
                   SUBSET '/alliance/auctions/.*'
                   ORDER BY bid,owner
                 SELECT XMLAttr(value,'//datas','name') AS
                   'name->TEXT(20)', value
                   FROM data TEXT(XML,'<datas
    name="hello"><data><value>10</value></data><data><value>20</value></data>>/datas>')
                   SUBSET '^/datas/data/$'
               - Operating on inline XML:
                 SELECT value
                   FROM data
    TEXT(XML,'<data><value>10</value><value>20</value></data>')
                   SUBSET '/data/value'
                   ORDER BY value
               - Operating on inline JSON:
                 SELECT value
                   FROM data TEXT(JSON,'{"data":[{"value":10},{"value":20}]}')
                   SUBSET '/data/.*'
                   ORDER BY value
               - Loading data from external CSV (SF_CSV) or
                 binary (SF_BIN) files:
                 SELECT [species no], common_name
                   FROM biolife FILE(SF_CSV,'.iolife.csv')
                   ORDER BY common_name
               - Loading data from external XML and JSON files:
                 SELECT owner,bid,quantity
                   FROM auctionsfile FILE(JSON,'.auctions.json')
                   SUBSET '/alliance/auctions/.*'
                   ORDER BY bid,owner
               - Outputting results as binary (SF_BIN), CSV (SF_CSV), XML
                 (SF_XML) and JSON (SF_JSON) files:
                 SELECT fld2 AS Field2, fld3, sum(fld5) AS fld5,
                   Sum(fld2) AS SomeField1, Sum(fld3) AS SomeField2
                   FROM table1
                   GROUP BY Field2, fld3
                   OUTPUT FILE(SF_JSON,'.output.json','nodef')
               - Outputting results as CSV, XML and JSON text string:
                 SELECT fld2 AS Field2, fld3, sum(fld5) AS fld5,
                   Sum(fld2) AS SomeField1, Sum(fld3) AS SomeField2
                   FROM table1
                   GROUP BY Field2, fld3
                   OUTPUT TEXT(SF_XML,'nodef')
              Output formats supports various options:
               - SF_CSV supports: nodef, quote=X, fielddelimiter=X,
                    recorddelimiter=X, truestring=xxx, falsestring=xxx,
                    noheader, onlyquotestrings, usedisplayname
               - SF_JSON supports: nodef, rowid, datanode, memoasstring,
                    nonull, bmp, png (not MacOS), jpeg (not MacOS),
                    rowidname=xxx, dataname=xxx, definitionname=xxx
               - SF_XML supports: nodef, rowid, datanode,
                    datasetname=xxx, rowidname=xxx,
                    fieldname=xxx, dataname=xxx, definitionname=xxx
               - SF_BIN supports: nodef
              Check demo for examples of use.
            - Added kbmMWSQLXMLAPI.pas, kbmMWSQLJSONAPI.pas units (Ent) to
              support above.
            - Added XmlNode and XmlAttr in kbmMWSQLXMLFunc.pas for XML
              specific functions useful when running SQL on XML documents.
            - Added new QoS flag to WIB messages:
                KBMMW_TRANSPORT_QOS_CONFIRMED_DELIVERY
              If set on a message, the message will need to be acknowledged
              by receiver before its committed in senders queue. In
              practice receiver bulk acknowledges received messages at an
              interval and/or message count.
            - Upped subject header version to 4.
              Define KBMMW_SUBJECTHEADER_V3_COMPAT
              to generate messages compatible with v3.
              Notice that QoS must handshake flag require v4.
            - Added AOptions:TkbmMWMessageOptions to all message creating
              methods/functions when WIB is enabled. Provides access to
              defining QoS flags for a message.
            - Added InboundRetransmitTotal, OutboundRetransmitTotal,
              AutoSetupHandshakeSubscription,
              SendEvent, SendPrioritizedEvent, InboundAckHandler,
              OutboundAckHandler
              to client and server messaging transports.
            - Added Flush method to TkbmMWFileStoreMessageQueue to force
              write of cached data to file.
            - Added TkbmMWWeekDay type to kbmMWDateTime.pas unit.
            - Added global function kbmMWXMLDataType2VariantType to
              kbmMWXML.pas. Returns variant datatype based on XML datatype.
            - Updated Load/Save functions in kbmMWXML to configure to
              stream/not stream BOM markers.
            - Changed AttribByNameAsDuration in kbmMWXML to return
              TkbmMWDuration value instead of TkbmMWDateTime.
            - Added kbmMWAddHop, kbmMWExtractLastHop, kbmMWHopCount,
              kbmMWPeerID, kbmMWExtractPeerID,
              kbmMWGenerateHandshakeSubscriptionSubject,
              kbmMWGenerateHandshakeSubject methods to kbmMWSubjectUtils.
            - Added CreateResponseMessage, CreateRequestMessage,
              CreateServiceCallMessage methods to WIB.
            - Added optional ASilent:boolean=false argument to
              CommitMessagePop, RollbackMessagePop, RejectMessage
              If true, will not raise exception if message do not exist.
              Also now returns true or false depending on if operation
              suceeded.
            - Added OnStats event to TkbmMWServer. Is called whenever there
              is a statistics update.
            - Added Load/Save methods for file and stream based storage in
              TkbmMWXMLAuthorizationStorage.
            - Added mwldtWeb to TkbmMWLogDataType.
            - Added Enabled:boolean property to IkbmMWLogManager and
              implementing classes.
            - Added LogWeb method to IkbmMWLog interface and implementing
              classes. Logs data in an Apache compatible way.
            - Added function FormatWebLogRecord to IkbmMWLog and
              implementing classes. It returns an Apacke compatible log
              string to be used with LogWeb.
            - Extensively updated TkbmMWInterval in kbmMWDateTime.pas unit
              to be nullable, compile numeric value that can be compared
              with another interval instance's numeric value to test for
              which interval is longer, multiple overloaded constructors,
              millisecond support, Compare function.
              Supports fractional and overrun values for years, months,
              days, hours, minutes, seconds and weeks.
            - Added TkbmMWInterval as alias to TkbmMWDuration.
            - Added Compare and Clear methods to TkbmMWDateTime.
            - Added Incxxx methods to TkbmMWDateTime taking fractional and
              overrun values.
            - Added Null class function to TkbmMWDateTime returning a null
              TkbmMWDateTime.
            - Added NCSATimeZone and NCSADateTime properties to
              TkbmMWDateTime allow for setting and getting Common Log
              Format (NSCA) formatted timezone and datetime values.
            - Added Clone function to TkbmMWJSONCustomObject.
            - Added AddArray and AddObject functions to TkbmMWJSONArray.
              Newly created empty object or array will be added to array
              and returned for developer to populate.
            - Added InsertArray and InsertObject to TkbmMWJSONArray.
            - Added AAutoCreateChildren:boolean (default true) argument to
              constructor of TkbmMWJSONObject. Controls what happens when
              accessing properties AsArray or AsObject when no array or
              object is available under the given name. If
              AutoCreateChildren is false, nil will be returned or an
              exception raised, else new objects/arrays are created
              automatically.
            - Added option to stream BOM in TkbmMWJSONStreamer.
            - Added Load/Save UTF8 file and stream access methods to
              TkbmMWJSONStreamer.
            - Added FileStoreOptions property to
              TkbmMWFileStoreMessageQueue which
              controls what happens when queue is closed. Can be
              mwfsoDeleteOnClose, mwfsoDeleteOnCloseWh or nothing.
            - Added TkbmMWCustomThreadHashList,
              TkbmMWHashStringInterfaceList
              and TkbmMWThreadHashStringInterfaceList to kbmMWGlobal.pas.
            - Added UTF8Decode methods returning boolean if UTF8 string was
              invalid to TkbmMWPlatformMarshal.
            - Added WriteBOM and ReadBOM to TkbmMWPlatformMarshal.
            - Added kbmMWTextToFloat, kbmMWFloatToText, kbmMWStringToText,
              kbmMWSearchNonDecimalDigit, kbmMWSafePath to kbmMWGlobal.pas.
            - Added OnHandshake event to client and server messaging
              transports.

               Changes/minor additions
            =======================
            - Added APostSubject:string='' argument to all message
              producing methods/functions to allow postfixing additional
              data to the standard subjects like REQ/RES etc. to allow for
              easier custom receiving end filtering based on custom data.
            - Added AClosing:boolean = true argument to Flush method of
              TkbmMWBufferedFileStream.
              If true (default) flush is expected to optionally (on
              Windows) truncate file to the actual size it has, not the
              sector based size. Call with closing false to just flush the
              cache to the file.
            - Added GetMimeTypeExt(const AExt:string):string and
              GetCharSetExt(const AExt:string):string to
              kbmMWCustomHTTPService.pas. Allows for providing a file
              extension (including dot) instead of a file path.
            - Improved FastCGI communication with FastCGI server to more
              reliably detect environment header.
            - Changed so SubjectHeader.Hops always initially includes
              sender.
            - Changed TkbmMWAuthorizationUTCTimeConstraint to use
              TkbmMWWeekDay for week day constraints.
            - Updated timezone list in kbmMWDateTime.
            - Updated TkbmMWOnMessageToSpoke,
              TkbmMWOnMessageToSpokeDeliveryFailed,
              TkbmMWOnMessageToSpokeDeliverySuccess events to include the
              queue.

            Fixes
            =====
            - Fixed leak of TkbmMWInnerThread on shutdown.
            - Fixed thread pool bugs.
            - Fixed Remote Desktop compilation issues in pre XE6.
            - Fixed FIB compilation issues.
            - Fixed UniDAC compilation issues and missing Options property.
            - Fixed so a response message has same QoS as the request
              message.
            - Fixed TkbmMWAuthorizationLogin.Touch to touch using UTC, not
              local time, which would result in actor being timed
              incorrectly out.
            - Fixed leak of TFileStream/TkbmMWBufferedFileStream in
              kbmMWDebugTdsFile.pas and kbmMWDebugMapFile.pas when loading
              of TDS/MAP file excepted (for example by being in use by the
              Delphi debugger when running app in debug mode).
            - Fixed StreamSec TLS plugin compilation.
            - Fixed bugs in
              TkbmMWHTTPTransportStreamHelper.HTTPBuildCustomResponseHeader.
            - Fixed bugs in SQLite adapter

  • 相关阅读:
    企业面试题库1
    就业模拟试题_Net
    就业模拟试题_Java
    oracle创建用户
    Activity基础类
    Activity容器控件
    面试题_Java
    Activity功能控件
    获取工作流活动的返回值
    企业面试题库_数据库部分
  • 原文地址:https://www.cnblogs.com/xalion/p/4946408.html
Copyright © 2020-2023  润新知