Bug Fixes |
 | |
The ADM XML parser doesn't set the semantic type for pooled string field via the field's getSemanticType() accessor like it should be. Consider the following: Running the ADM code generator produces 2 pooled string types for the above: FirstName and LastName. The FirstName field is associated with the semantic type 'FirstName' while the 'LastName' field by virtue of being declared 'poolable' will result in the creation of a pooled string type. Because the FirstName field is based on the semantic type 'FirstName' it is useful for tools that parse ADM models to be able to access the semantic type to inspect type semantics. |
Changes |
 | |
This change normalizes message/entity accessors for pooled string types with those of regular string types. Prior to this change pooled string types were used in the generated code and pooled in a somewhat independent fashion from their message. Performance testing showed this approach to be infeasible due to the pooling overhead of string pools because those pools needed to be threadsafe. Additionally, after beta testing feedback it was found that such pooling was confusing to end users. For the most part these changes are backwards compatible. However, the for pooled string fields there are a few compatibility breaking changes in generated accessors: The default getters/setters no longer return the pooled string type. They now return/accept a String. Applications that used the default getters will need to update their code to use getXXXTo / setXXXFrom respectively. Additionally this change removes several accessors that were made redundant by the normalization. By default these accessors are no longer generated by ADM to reduce the overhead associated with vtable lookups. Applications may set the code generator directive <generateDeprecatedAccessors>true</generateDeprecatedAccessors> to have ADM generated these accessors. |
 | | |
This milestone removes generation of fluent setters on generated interfaces when the generateFluentSetters directive is enabled. Fluent setters on generated interfaces were removed because it introduces too many possible type conflicts for the return type when a class implement multiple interfaces with the same field. |
 | | |
The ADM directive generateBuilderSetters has been renamed to generateFluentSetters. The old property name has been deprecated. |
 | | |
Prior to this release, the Solace binding defaulted the client name used when establishing the Solace session to "" if not specified by the user via the binding's connection descriptor. This release changes the binding to use the binding's user name as the default. For applications using the AEP engine, the engine sets the user name as the engine's name. |
 | | |
Prior to this release, the Solace binding defaults TCP_NODELAY to true. This is inconsistent with other configuration parameters that default to favor high throughput instead of low latency. This release changes the default for TCP_NODELAY to false from true. |
 | | |
Prior to this release, the Solace binding supported a configuration parameter named _fail_on_bad_message_ that can be specified via the connection descriptor. The name of this parameter is not reflective of the behavior it invokes since setting this parameter to true will cause the binding to shut down if _any_ fault is encountered during the processing of an inbound message prior that prevents the message from being enqueued in the app's AEP engine's inbound multiplexer. This release changes the name of this parameter to more accurately reflect the behavior that it invokes. The name of the parameter is now _fail_on_inbound_message_handling_fault_ |
 | | |
|
Improvements |
 | |
This improvement changes the behavior of the transaction log tool when dumping log entries in detailed (json) format to sort the fields alphabetically. The alphabetical sort can be disabled by launching the tool with the system property -Dnv.json.sortAlphabetically=false |
 | | |
|
 | | |
|
 | | |
|