// Client-targeted <connect-timeout-seconds/>
connectTimeoutSeconds = properties.getPropertyAsInt(CONNECT_TIMEOUT_SECONDS, 0);
// Check for a custom FlexClient outbound queue processor.
ConfigMap outboundQueueConfig = properties.getPropertyAsMap(FLEX_CLIENT_OUTBOUND_QUEUE_PROCESSOR, null);
if (outboundQueueConfig != null)
{
// Get nested props for the processor.
flexClientOutboundQueueProcessorConfig = outboundQueueConfig.getPropertyAsMap(PROPERTIES_ELEMENT, null);
String pClassName = outboundQueueConfig.getPropertyAsString(CLASS_ATTR, null);
if (pClassName != null)
{
try
{
flexClientOutboundQueueProcessClass = createClass(pClassName);
// And now create an instance and initialize to make sure the properties are valid.
setFlexClientOutboundQueueProcessorConfig(flexClientOutboundQueueProcessorConfig);
}
catch (Throwable t)
{
if (Log.isWarn())
log.warn("Cannot register custom FlexClient outbound queue processor class {1}", new Object[]{pClassName}, t);
}
}
}
ConfigMap serialization = properties.getPropertyAsMap(SERIALIZATION, null);
if (serialization != null)
{
// Custom deserializers
List deserializers = serialization.getPropertyAsList(CUSTOM_DESERIALIZER, null);
if (deserializers != null && Log.isWarn())
{
log.warn("Endpoint <custom-deserializer> functionality is no longer available. Please remove this entry from your configuration.");
}
// Custom serializers
List serializers = serialization.getPropertyAsList(CUSTOM_SERIALIZER, null);
if (serializers != null && Log.isWarn())
{
log.warn("Endpoint <custom-serializer> functionality is no longer available. Please remove this entry from your configuration.");
}
// Type Marshaller implementation
String typeMarshallerClassName = serialization.getPropertyAsString(TYPE_MARSHALLER, null);
if (typeMarshallerClassName != null && typeMarshallerClassName.length() > 0)
{
try
{
Class tmc = createClass(typeMarshallerClassName);
typeMarshaller = (TypeMarshaller)ClassUtil.createDefaultInstance(tmc, TypeMarshaller.class);
}
catch (Throwable t)
{
if (Log.isWarn())
log.warn("Cannot register custom type marshaller for type {0}", new Object[]{typeMarshallerClassName}, t);
}
}
// Boolean Serialization Flags
serializationContext.createASObjectForMissingType = serialization.getPropertyAsBoolean(CREATE_ASOBJECT_FOR_MISSING_TYPE, false);
serializationContext.enableSmallMessages = serialization.getPropertyAsBoolean(ENABLE_SMALL_MESSAGES, true);
serializationContext.instantiateTypes = serialization.getPropertyAsBoolean(INSTANTIATE_TYPES, true);
serializationContext.supportRemoteClass = serialization.getPropertyAsBoolean(SUPPORT_REMOTE_CLASS, false);
serializationContext.legacyCollection = serialization.getPropertyAsBoolean(LEGACY_COLLECTION, false);
serializationContext.legacyMap = serialization.getPropertyAsBoolean(LEGACY_MAP, false);
serializationContext.legacyXMLDocument = serialization.getPropertyAsBoolean(LEGACY_XML, false);
serializationContext.legacyXMLNamespaces = serialization.getPropertyAsBoolean(LEGACY_XML_NAMESPACES, false);
serializationContext.legacyThrowable = serialization.getPropertyAsBoolean(LEGACY_THROWABLE, false);
serializationContext.legacyBigNumbers = serialization.getPropertyAsBoolean(LEGACY_BIG_NUMBERS, false);
serializationContext.legacyExternalizable = serialization.getPropertyAsBoolean(LEGACY_EXTERNALIZABLE, false);
boolean showStacktraces = serialization.getPropertyAsBoolean(SHOW_STACKTRACES, false);
if (showStacktraces && Log.isWarn())
log.warn("The " + SHOW_STACKTRACES + " configuration option is deprecated and non-functional. Please remove this from your configuration file.");
serializationContext.restoreReferences = serialization.getPropertyAsBoolean(RESTORE_REFERENCES, false);
serializationContext.logPropertyErrors = serialization.getPropertyAsBoolean(LOG_PROPERTY_ERRORS, false);
serializationContext.ignorePropertyErrors = serialization.getPropertyAsBoolean(IGNORE_PROPERTY_ERRORS, true);
}
recordMessageSizes = properties.getPropertyAsBoolean(ConfigurationConstants.RECORD_MESSAGE_SIZES_ELEMENT, false);
if (recordMessageSizes && Log.isWarn())