OpenORB NotificationService
---------------------------

Version 1.4.0 - March, 28 2005 - NotificationService_1_4_0_RELEASE

- notify.resourcesTimeout didn't work when both Events and
  Connections were reliable. Fix submitted by Eddie Lim Po.

- removed reference to the JDK tools.jar from build.xml
  to allow compilation on OSX

- Added preliminary support for Filter.destroy(). Filters are deactivated
  in the POA, but not removed from PSS yet. 
  
- Fixed ArrayIndexOutOfBoundsException in 
  EventChannelImpl.reportConsumerAdminDestruction (bug #901213)

Version 1.4.0 BETA2 - July, 29 2004 - NotificationService_1_4_0_BETA2

- Added a test case for bug #524478. The exception does not seem to
  occur anymore.

- improved Pusher log messages.

- PushConsumers that continue to fail with SystemException for longer
  than notify.resourcesTimeout are now disconnected. This way the server
  can free resources for clients that have terminated without properly
  disconnecting themselves. Contributed by Eric Thomas.

- incorporated partial patches from Richard G. Hash
  to get subscription_change() to work for push events

- Upgraded to checkstyle 3.3.

- Fixed various warnings Eclipse 3.0M6 complained about.

- Added Eclipse project files (.project and .classpath)
  the project can now easily be imported by
      New->Project->Import From existing Source

- Placed compiler cache files in build directory, caches are now
  deleted by invoking the build target "clean"

Version 1.4.0 BETA1 - December, 19 2003 - NotificationService_1_4_0_BETA1

- Use the new psdl2java nat task to compile the psdl files.

- Use the new java2idl ant task to compile the idl files.

- Added a patch from Eric Thomas to allow BiDir IIOP for event
  channel suppliers (<e _dot_ thomas _at_ isti _dot_ com>).

- Removed LoggedXyzQueue to simplify inheritance hierarchy.

- Introduced ConsumerAdapter interface and replaced Pusher subclasses
  with delegation to ConsumerAdapters.

- Fixed violation of equals() contract in queue.*Comparator classes.

- Fixed logic in subclasses of NotifyThread so they do not wait for events
  when they have been stopped.

- Fixed memory leak due to instances of NotifyThread that are not started.

- Added create-separate-main-jars build target so that the combined main jar
  can split into separate classes and config jars.

- Removed the setConfig scripts, use the updateConfig scripts
  from tools instead.

- Fixed thread safety problems with NotifyThread and subclasses.

- Added fix by John Farrell <Farrell_John_W@cat.com>. Event Type Filtering
  was incorrectly matching either domain_name and type_name cumulatively
  for all of the specified event_types

- Changes in ServiceContext class. Now extends Avalon framework
  DefaultContext. Deprecated the setXXX methods. Use the put()
  and makeReadOnly() methods instead.

- Modified the NotificationService to use the new Service framework.
  NOTE: The Server and Service classes have some API changes.
  NOTE: The command line options have changed. Please use "notifysvc -h"
  (or "launch org.openorb.notify.Server -h") for help.
  NOTE: -bindNaming and -bindCorbaloc are no longer supported.
  By default, the Service will automatically bind itself to the
  Naming and Corbaloc Services. Use the -noBind option to
  turn off the binding (e.g. -noBind Naming -noBind Corbaloc).

- Fixed NPE which can occur when a supplier is disconnected
  and events are being processed.

- Moved build script logic into Ant files.

- Added fix by Eric Thomas <e.thomas@isti.com>. Cleanup in
  ConsumerAdmin was not occurring when more than one client
  was connected.

- Added fix by Eric Thomas <e.thomas@isti.com>. Pusher threads
  were not exiting when the client disconnected.

- In MaxPerformance mode Events are not lost anymore when a
  SystemException occurs. This is again a partial fix for bug #640552.

- Preserve the executable file attributes for the shell scripts.

- Added a shell script to start the NotificationService.

- Move the jars into the lib folder instead of the dist folder.

- Added fix by Peter Rohr, Clients were disconnected when
  SystemException occured. This is the first half of a fix
  for bug #640552.

- Added logging to report if the EvaluatorUtility could not be loaded

- Added a fix by Peter Rohr <Peter _dot_ Rohr _at ppi _dot_ de>.
  The Service class was not reporting any problem while binding
  to the NameService.

- Bind the Server class under the common NameService hierarchy:
  "COS/NotificationService/*".

- Moved plugin jar file to ManagementBoard package

- Adapted usage of OpenORB classes to new package structure.

- Updated version number to 1.4.0.

- The class ReleaseInfo has been removed for simplicity reasons.

Version 1.3.0 - September, 27 2002 - NotificationService_1_3_0

- Fixed SupplierAdminImpl and ConsumerAdminImpl logic to handle rare boundary
  conditions and are thread safe.

- Make build.sh work with the latest cygwin version. The script
  was using a variable OSTYPE that is not available in sh. The
  official way to get the name of the platform is uname which
  is now used for determining the CLASSPATH separator.

Version 1.3.0 BETA2 - August, 10 2002 - NotificationService_1_3_0_BETA2

- Added patch by Diego Sevilla Ruiz (dsevilla _at_ um _dot_ es) for
  the install target of the build.xml. The new version copies the
  files to the path specified by the property install.path just as
  if you extract one of the binary tarballs.

- Make the install target in build.xml copy all jars from the
  dist directory to the specified install location.

- Added dump-info target to build.xml to show the
  basic settings that are used by ant.

- Add support for xalan on JDK 1.4 to build.xml. Otherwise the
  compile-docbook target does not work.

Version 1.3.0 BETA1 - June, 19 2002 - NotificationService_1_3_0_BETA1

- Added a checkstyle target to build.xml. The command
  "build.sh checkstyle" checks the source code for adherence
  to the Jakarta coding conventions.

- Changed all Class.forName() calls to
  Thread.currentThread().getContextLoader().loadClass()
  This is safer when having multiple class loaders.

- notify.xml: Removed pushThreadLatency and adminPushThreadLatency
  properties

- new command-line args now available

- by default, Service does not register Naming/Corbaloc
  use args "-bindNaming -bindCorbaloc"

- rework of Server startup to support Avalon Service
  concept

- use Jakarta Avalon LogKit for logging instead of log4J
  Service now requires logkit.jar and avalon-framework.jar

- check for null filter argument in add_filter()
  of the various Admin/Consumer/Supplier interfaces
  Found by Vatel <dreamland_skib2@mailru.com>

- plugin fix: cancelling dialogs was ignored

- plugin fix: start/stoptime data type changed to
  correct UtcT type.

- SequenceProxyPullSupplier will now wait (instead
  of sleeping) until first event arrives in the queue.

- convert build.xml to new style format

- Server will now start successfully without the
  Naming Service

- remove lib/openorb_evaluator-1.0.1.jar. Instead depend on
  the latest jar file from EvaluatorUtility.

- fix build.sh, build.bat to include tools/lib

- build.sh now works under Cygwin, patch submitted by
  David Blevins (dblevins@users.sourceforge.net).

- Performance Improvements
  eliminate latency for ProxyPullSupplier and
  StructuredProxyPullSupplier

- Performance Improvements from Patrick Mann
  Elimination of latency delay in EventQueueReceiver

- Added Examples for SequencePullConsumer, SequencePushSupplier

- SequenceProxyPullConsumer::pull_structured_events (& try_pull):
  Now supports returning more than 1 event in batch
  Also checks QoS MaximumBatchSize

- Performance Improvements.
  Reduce latency delay when pulling events
  for AnyPuller, StructuredPuller, and SequencePuller
  classes.

- Performance Improvements.
  Related changes to Fix #506226:
  Reduce latency delay when queues are not empty
  for AnyPusher, StructuredPusher, and SequencePusher
  classes.

- Fix #508455: ArrayIndexOutOfBoundsException
  was occurring in EventQueueReceiver: doDelivery()
  Min Lu reported and provided patch.

- Fix #506226: Reduce latency during event blast
  Events were delivered to the consumers very slowly
  due to the latency properties. Change to not use
  latency when events are sitting in the queue.
  Min Lu provided patch for EventQueueReceiver.

- Fix #502360: Loss of Notifications during blast
  When using the Priority ordering, events were dropped
  by the Service when generated quickly.
  Fix to PriorityOrderer class.

- Aligned code to the Apache/Jakarta coding guidlines

- Merged install.txt and src/etc/README files.
  Moved src/etc files CHANGELOG, README, and LICENSE
  to the base directory of the package and renamed
  CHANGELOG to WHATSNEW (Jakarta style).

Version 1.2.1 - January, 11 2002 - NotificationService_1_2_1

- NONE

Version 1.2.0 - August, 8 2001 - NotificationService_1_2_0

- Added loggable queues

- Updated to use the CorbalocService for OpenORB 1.2.

- Fixed the code when casting to PropertyError[] when bad qos/admin is found.

- Fixed a bug that would cause a nullpointerexception when attempting
  to destroy a event channel when no default admin has been created.

- Fixed a bug within the filter engine when resetting values.

- Fixed a bug wiith try pull that would return a non initiated struct.

- Fixed a bug that will prevent an admin to try to
  push an event on a destroyed proxy.

- Modified the static init of the Log4J to ensure that
  if the Notification is embedded, this won't interfere
  with any others Log4J appenders.

- Corrected a problem that may occur when some properties are not
  set (i.e. in the proxies)

- Initial Release

