This is xmlBlaster version 2.2.0 2014-06-09 'Piano' XmlBlaster is under development or productive in a huge range of industries like satellite control, air traffic control telecommunication, radar, car industry, process monitoring, live tracking, mobile phone integration (J2ME), PDA integration (C#), iPhone integration (Objective C) and more. This release is backward compatible to the previous for its client-server protocols. It is *NOT* backward compatible for the database schema of its persistent queues! Please read below! The client Java API may require minor adjustments, but the compiler will tell you the places if any (e.g. added method to interface class which you could use). It is tested under Linux/Solaris/Windows/WINCE/MacOSX/iPhone with JDK 1.4-1.6 and g++ 2.9x/3.x/4.x, icc 8.x and 9.x and 11.x, MSVisualC++ 2005 and 2008, SunCC compilers (32bit/64bit). There is no reason why other platforms/compilers should not work, just try it. Persistence is checked against Oracle 9i, 10g and 11, different Postgres versions, MS-SQLServer 2000, 2005 and 2008, Firebird and hsqldb. Real-time database replication is tested between different Oracle versions and between Oracle and DB2 (as a sink). New features include o Added tunneling of callbacks for the XMLRPC protocol o New incompatible persistence layer, please read http://www.xmlblaster.org/xmlBlaster/doc/requirements/queue.jdbc.html o Other extensions and bug fixes as noted in xmlBlaster/CHANGES It is leak checked in RAM and on persistence store for Java,C,C++. Since release 2.0 we are supporting JDK 1.5 or higher only. The xmlBlaster maintainers http://www.xmlBlaster.org See: ---- http://www.xmlblaster.org/xmlBlaster/CHANGES Notes for V2.2.0: ----------------- Some minor extensions but mainly fixes, see CHANGES file Notes for V2.1.0: ----------------- DispatchManager is renamed to I_DispatchManager please change your code (e.g. in MimeAccessPlugin plugins) if implementing I_ConnectionStatusListener C++ client library ported to xerces 3.0 Support for sqlite 3.0 Notes for V2.0.0: ----------------- VERY IMPORTANT CHANGE with xmlBlaster persistence layer, PLEASE READ THIS! The default configuration now uses the new JdbcQueue database persistence layer with three tables 'xbstore', 'xbref', 'xbmeat'. If you have data in the old schema 'xb_entries' they are NOT used. In case you need the old data please read http://www.xmlblaster.org/xmlBlaster/doc/requirements/queue.jdbc.html You can configure xmlBlaster.properties to still use the old database schema or you need to migrate existing database data (queue entries etc.) to the new schema! Old: JdbcStorage[XXXXX]=org.xmlBlaster.util.queue.jdbc.JdbcQueueCommonTablePlugin,... New: JdbcStorage[XXXXX]=org.xmlBlaster.util.queue.jdbc.JdbcQueue,... Notes for V1.6.4: ----------------- The security plugin interface has changed slightly, the compiler will tell you the place. See CHANGES r16744 Notes for V1.3: --------------- =========================== Getting login/logout events =========================== Since version 1.3, #15211, 2006-06-30 the login/logout events are deprecated and switched off as default. If you need the old implementation, please activate it in xmlBlaster.properties with loginEvent=true logoutEvent=true userListEvent=true The new and preferred framework to use is http://www.xmlblaster.org/xmlBlaster/doc/requirements/admin.events.html The porting is described in http://www.xmlblaster.org/xmlBlaster/doc/requirements/engine.LoginLogoutEvent.html#workaround ============================= Incompatible interface change ============================= Note that the security plugin interface has changed, if you have coded your own security plugins please adapt them to the exended interface. The change is easy and the compiler will tell you the place. Important other extensions: - The java client library now supports convenience functions receive() and request(). - There is a C# client using the xmlBlaster C library - The htpasswd plugin supports now authorization - Race conditions in TopicHandler.java are fixed - Clustering xmlBlaster over email protocol - Fixed encoding/charset issues Notes since V1.2: ----------------- It uses the java.util.logging framework instead of jutils so be prepared to port your code depending on jutils features. The engine.Global class is renamed to engine.ServerScope, you need to port your native plugins with respect to this rename. Note: ----- If you use the cluster feature please take the new xmlBlaster/config/xmlBlasterPlugins.xml.template as the ClusterManager is now configured as a plugin. ========== XML Parser ========== Please comment out the following lines in your old xmlBlaster.properties as shown #------------------------------------------------------------------------------ # # JAXP parsers. # #javax.xml.parsers.SAXParserFactory=org.apache.crimson.jaxp.SAXParserFactoryImpl #javax.xml.parsers.DocumentBuilderFactory=org.apache.crimson.jaxp.DocumentBuilderFactoryImpl #------------------------------------------------------------------------------ Or use the new xmlBlaster/config/xmlBlaster.properties.template (since 1.0.7 2005-10-26) ============ JDBC service ============ Our JDBC service plugin for xmlBlaster is only available for JDK 1.5 see http://www.xmlblaster.org/xmlBlaster/doc/requirements/engine.service.rdbms.html ============================= IMPORTANT COMPATIBILITY NOTE: ============================= The JDBC tables have changed incompatible from 0.903 to 0.91. -> Removed XB_NODES table (is backward compatible) -> Removed XB_QUEUES table (is backward compatible) -> Removed column 'nodeId' from XB_ENTRIES (is NOT backward compatible) There is now only a single table (PostgreSQL example): CREATE TABLE xb_entries ( dataId bigint, queueName text, prio integer, flag text, durable char(1), byteSize bigint, blob bytea, PRIMARY KEY (dataId, queueName) If you need to upgrade xmlBlaster having legacy data in your database do manually a ALTER TABLE xb_entries DROP COLUMN nodeId' Otherwise just drop all old database tables (for HSQLDB remove its files in the tmp directory, on Windows the default %HOMEPATH%\tmp location for user 'joe' is "C:\Documents and Settings\joe\tmp" and on Linux "$HOME/tmp") If you forget this the exception text is something like: [Aug 28, 2004 2:47:15 PM ERROR XmlBlaster.MainThread org.xmlBlaster.engine.msgstore.cache.PersistenceCachePlugin-topicStore:xmlBlaster_192_168_1_4_3412] put: an error occured when writing to the persistent queue, the persistent entry __sys__UserList/2004-08-28 14:47:15.814 will temporarly be handled as transient. Is the DB up and running ? XmlBlasterException errorCode=[resource.db.unknown] serverSideException=true location=[JdbcManagerCommonTable.addEntry] message=[An unknown error with the backend database using JDBC occurred -> http://www.xmlblaster.org/xmlBlaster/doc/requirements/admin.errorcodes.listing.html#resource.db.unknown : java.sql.SQLException: Column count does not match in statement [INSERT INTO XB_ENTRIES VALUES ( ?, ?, ?, ?, ?, ?, ?)]] [See URL http://www.xmlblaster.org/xmlBlaster/doc/requirements/admin.errorcodes.listing.html#resource.db.unknown]state