X Platform Documentation Portal

Release Notes

X Platform Documentation Portal

Skip to end of metadata
Go to start of metadata

Release Date: Monday, February 05, 2018

Change Log

New Feature

TOA-104 - Provide EngineClock getTimeMicros()

This release adds a new EngineClock.getTimeMicros() which allows the user to get HA consistent engine time in microseconds.

Change

TOA-94 - Channel names for services with the same simple name result in conflicts

This release changes the behavior of Hornet channel mapping when two services result in the the same channel name being used. When two services result in the same channel name being used on the same message bus Hornet will now fail during messaging configuration to
prevent messages from the two services flowing over the same channel and reaching unintended recipients.

Case in which this can occur include:

  • Two services with different namespaces but the same service name using the same channel name. For example if both com.neeve.service1.OrdersService and com.neeve.service2.OrdersService declare the channel 'neworders' the would both result in a channel named ordersservice-neworders being declared in conflict.
  • Two services different names but that don't use service name prefixing using the same channel name. For example if both com.neeve.service1.OrdersService and com.neeve.service2.EventService declare the channel 'neworders' the would both result in a channel named 'neworders' being declared in conflict.

Note that in either of the above cases if the 'neworders' channel where to declare itself on a different bus this would not be considered a conflict since each channel would be distinct and configured independently.
Compatibility Notes:

 

Existing applications that had service channel name conflicts will now fail to start with this release. The env property nv.toa.failonchannelnamecollision=false can be set to revert to the old behavior or ignoring such collisions.

TOA-98 - Hornet Typo: HK2ManagedObjectLocator.getAppplicationServiceLocator() has extra 'p'

 

This release fixes a typo in the api:

com.neeve.managed.hk2.HK2ManagedObjectLocator.getAppplicationServiceLocator()

This method has been removed and replaced with:

com.neeve.managed.hk2.HK2ManagedObjectLocator.getApplicationServiceLocator()

TOA-101 - Hornet initial key resolution should honor 'nv.sma.allowemptykeyfield' and 'nv.sma.treatemptykeyfieldasnull'

This release enhances Hornet such that it enforces 'nv.sma.treatemptykeyfieldasnull' and 'nv.sma.allowemptykeyfield' when doing Initial Channel Key Resolution functionality.

See Also: ChannelInitialKeyResolutionTableProvider.getInitialChannelKeyResolutionTable
Compatibility Notes:

 

Because the default value of nv.sma.allowemptykeyfield is false, this release may cause startup errors for applications that are supplying initial key resolution tables with blank values.

TOA-103 - DefaultServiceDefinitionLocator should also search resources/services

 

This release changes the DefaultServiceDefinitionLocator to search in <work-dir>/resources/services/ in addition to <work-dir>/conf/services for service definition files to allow easier integration with Robin deployment (since robin limits resource deployment to the resources folder).
Compatibility Notes:

 

This may impact existing applications if they happen to package service definitions in a folder called resources since the DefaultServiceDefinitionLocator will now resolve them.

TOA-105 - Remove experimental TopicResolver code generator

 

This change removes the experimental, undocumented topic resolver code generator from Hornet. This feature is now under consideration for implementation in Talon.

|

Bug

TOA-100 - Hornet classpath discovered services filtered when nv.toa.strictservicelocatorvalidation=true

This release fixes an issue in Hornet's DefaultServiceDefinitionLocator that would filter all classpath discovered services when nv.toa.strictservicelocatorvalidation=true.
Compatibility Notes:

 

With this change applications that were specifying nv.toa.strictservicelocatorvalidation=true may now discover additional services that would have been previously filtered.

 
  • No labels