@Override
public CallbackCompletion<Void> initialize (final ConverterTreeXmlKVContext context, final CloudletCallbackArguments<ConverterTreeXmlKVContext> arguments)
{
this.logger.info ("ConverterTreeXmlKV initializing...");
context.cloudlet = arguments.getCloudlet ();
final IConfiguration configuration = context.cloudlet.getConfiguration ();
final IConfiguration queueConfiguration = configuration.spliceConfiguration (ConfigurationIdentifier.resolveAbsolute ("queuetree.consumer"));
final IConfiguration queueConfiguration2 = configuration.spliceConfiguration (ConfigurationIdentifier.resolveAbsolute ("queuexml.publisher"));
final IConfiguration kvConfiguration = configuration.spliceConfiguration (ConfigurationIdentifier.resolveAbsolute ("storetree"));
context.publisher = context.cloudlet.getConnectorFactory (IAmqpQueuePublisherConnectorFactory.class).create (queueConfiguration2, String.class, SerializedDataEncoder.create(String.class), new AmqpPublisherCallback (), context);
context.consumer = context.cloudlet.getConnectorFactory (IAmqpQueueConsumerConnectorFactory.class).create (queueConfiguration, Tree.class, SerializedDataEncoder.create(Tree.class) , new AmqpConsumerCallback (), context);
context.kvStore = context.cloudlet.getConnectorFactory (IKvStoreConnectorFactory.class).create (kvConfiguration, Tree.class,SerializedDataEncoder.create(Tree.class), new KeyValueCallback (), context);
return CallbackCompletion.createAndChained (context.consumer.initialize (),context.publisher.initialize (),context.kvStore.initialize());
}