Modified: webservices/sandesha/trunk/c/src/util/sandesha2_utils.c URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/util/sandesha2_utils.c?view=diff&rev=487452&r1=487451&r2=487452 ============================================================================== --- webservices/sandesha/trunk/c/src/util/sandesha2_utils.c (original) +++ webservices/sandesha/trunk/c/src/util/sandesha2_utils.c Thu Dec 14 21:33:32 2006 @@ -28,6 +28,7 @@ #include <sandesha2_close_seq_res.h> #include <sandesha2_polling_mgr.h> #include <sandesha2_inmemory_storage_mgr.h> +#include <sandesha2_permanent_storage_mgr.h> #include <axis2_string.h> #include <axis2_conf.h> #include <axis2_property.h> @@ -469,43 +470,73 @@ axis2_conf_ctx_t *conf_ctx) { axis2_property_t *property = NULL; + axis2_ctx_t *ctx = AXIS2_CONF_CTX_GET_BASE(conf_ctx, env); AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, conf_ctx, NULL); - property = AXIS2_CTX_GET_PROPERTY(AXIS2_CONF_CTX_GET_BASE(conf_ctx, env), - env, SANDESHA2_INMEMORY_STORAGE_MGR, AXIS2_FALSE); + property = AXIS2_CTX_GET_PROPERTY(ctx, env, SANDESHA2_INMEMORY_STORAGE_MGR, + AXIS2_FALSE); if(property && AXIS2_PROPERTY_GET_VALUE(property, env)) - return (sandesha2_storage_mgr_t*)AXIS2_PROPERTY_GET_VALUE(property, - env); + { + sandesha2_storage_mgr_t *storage_mgr = NULL; + storage_mgr = (sandesha2_storage_mgr_t*)AXIS2_PROPERTY_GET_VALUE( + property, env); + return storage_mgr; + } else { /* TODO we need to class load the proper storage mgr */ sandesha2_storage_mgr_t *storage_mgr = - sandesha2_inmemory_storage_mgr_create(env, conf_ctx); + sandesha2_inmemory_storage_mgr_create(env, conf_ctx); property = axis2_property_create(env); AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_APPLICATION); AXIS2_PROPERTY_SET_VALUE(property, env, storage_mgr); AXIS2_PROPERTY_SET_FREE_FUNC(property, env, - sandesha2_storage_mgr_free_void_arg); - AXIS2_CTX_SET_PROPERTY(AXIS2_CONF_CTX_GET_BASE(conf_ctx, env), - env, SANDESHA2_INMEMORY_STORAGE_MGR, property, - AXIS2_FALSE); + sandesha2_storage_mgr_free_void_arg); + AXIS2_CTX_SET_PROPERTY(ctx, env, SANDESHA2_INMEMORY_STORAGE_MGR, + property, AXIS2_FALSE); return storage_mgr; } return NULL; } AXIS2_EXTERN sandesha2_storage_mgr_t* AXIS2_CALL -sandesha2_utils_get_permanent_storage_mgr(const axis2_env_t *env, - axis2_conf_ctx_t *conf_ctx) +sandesha2_utils_get_permanent_storage_mgr( + const axis2_env_t *env, + axis2_conf_ctx_t *conf_ctx) { + axis2_property_t *property = NULL; + axis2_ctx_t *ctx = AXIS2_CONF_CTX_GET_BASE(conf_ctx, env); + AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, conf_ctx, NULL); - /*TODO implement when the persistent storage is avalable */ - return NULL; + property = AXIS2_CTX_GET_PROPERTY(ctx, env, SANDESHA2_PERMANENT_STORAGE_MGR, + AXIS2_FALSE); + + if(property && AXIS2_PROPERTY_GET_VALUE(property, env)) + { + sandesha2_storage_mgr_t *storage_mgr = NULL; + storage_mgr = (sandesha2_storage_mgr_t*)AXIS2_PROPERTY_GET_VALUE( + property, env); + return storage_mgr; + } + else + { + sandesha2_storage_mgr_t *storage_mgr = + sandesha2_permanent_storage_mgr_create(env, conf_ctx); + property = axis2_property_create(env); + AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_APPLICATION); + AXIS2_PROPERTY_SET_VALUE(property, env, storage_mgr); + AXIS2_PROPERTY_SET_FREE_FUNC(property, env, + sandesha2_storage_mgr_free_void_arg); + AXIS2_CTX_SET_PROPERTY(ctx, env, SANDESHA2_PERMANENT_STORAGE_MGR, + property, AXIS2_FALSE); + return storage_mgr; + } + return NULL; } AXIS2_EXTERN axis2_char_t* AXIS2_CALL @@ -1199,7 +1230,6 @@ axis2_conf_ctx_t *conf_ctx = NULL; axis2_transport_out_desc_t *transport_out = NULL; axis2_transport_out_desc_t *sandesha2_transport_out = NULL; - /*axis2_transport_sender_t *transport_sender = NULL;*/ axis2_property_t *property = NULL; axis2_engine_t *engine = NULL; @@ -1216,11 +1246,6 @@ property, AXIS2_FALSE); transport_out = AXIS2_MSG_CTX_GET_TRANSPORT_OUT_DESC(msg_ctx, env); - /*transport_sender = AXIS2_TRANSPORT_OUT_DESC_GET_SENDER(transport_out, env); - if(transport_sender) - { - AXIS2_TRANSPORT_SENDER_INVOKE(transport_sender, env, msg_ctx); - }*/ property = axis2_property_create(env); AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_APPLICATION); AXIS2_PROPERTY_SET_FREE_FUNC(property, env,
Modified: webservices/sandesha/trunk/c/src/util/terminate_mgr.c URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/util/terminate_mgr.c?view=diff&rev=487452&r1=487451&r2=487452 ============================================================================== --- webservices/sandesha/trunk/c/src/util/terminate_mgr.c (original) +++ webservices/sandesha/trunk/c/src/util/terminate_mgr.c Thu Dec 14 21:33:32 2006 @@ -114,24 +114,24 @@ axis2_char_t *msg_store_key = NULL; map_bean = AXIS2_ARRAY_LIST_GET(found_list, env, i); - msg_store_key = sandesha2_invoker_bean_get_msg_ctx_ref_key(map_bean, - env); + msg_store_key = sandesha2_invoker_bean_get_msg_ctx_ref_key( + (sandesha2_rm_bean_t *) map_bean, env); sandesha2_storage_mgr_remove_msg_ctx(storage_man, env, msg_store_key); sandesha2_invoker_mgr_remove(invoker_mgr, env, - sandesha2_invoker_bean_get_msg_ctx_ref_key(map_bean, - env)); + sandesha2_invoker_bean_get_msg_ctx_ref_key((sandesha2_rm_bean_t *) + map_bean, env)); } clean_status = axis2_hash_get(sandesha2_terminate_mgr_rcv_side_clean_map, - seq_id, AXIS2_HASH_KEY_STRING); + seq_id, AXIS2_HASH_KEY_STRING); if(NULL != clean_status && 0 == AXIS2_STRCMP(clean_status, - SANDESHA2_CLEANED_ON_TERMINATE_MSG)) + SANDESHA2_CLEANED_ON_TERMINATE_MSG)) sandesha2_terminate_mgr_complete_term_on_recv_side(env, conf_ctx, seq_id, storage_man); else axis2_hash_set(sandesha2_terminate_mgr_rcv_side_clean_map, seq_id, - AXIS2_HASH_KEY_STRING, AXIS2_STRDUP( - SANDESHA2_CLEANED_AFTER_INVOCATION, env)); + AXIS2_HASH_KEY_STRING, AXIS2_STRDUP( + SANDESHA2_CLEANED_AFTER_INVOCATION, env)); return AXIS2_SUCCESS; @@ -422,8 +422,8 @@ create_seq_bean = AXIS2_ARRAY_LIST_GET(found_list, env, i); sandesha2_create_seq_mgr_remove(create_seq_mgr, env, - sandesha2_create_seq_bean_get_create_seq_msg_id( - create_seq_bean, env)); + sandesha2_create_seq_bean_get_create_seq_msg_id( + (sandesha2_rm_bean_t *) create_seq_bean, env)); } } Modified: webservices/sandesha/trunk/c/src/workers/in_order_invoker.c URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/workers/in_order_invoker.c?view=diff&rev=487452&r1=487451&r2=487452 ============================================================================== --- webservices/sandesha/trunk/c/src/workers/in_order_invoker.c (original) +++ webservices/sandesha/trunk/c/src/workers/in_order_invoker.c Thu Dec 14 21:33:32 2006 @@ -351,10 +351,10 @@ axis2_engine_t *engine = NULL; st_map_bean = AXIS2_ARRAY_LIST_GET(st_map_list, env, j); - key = sandesha2_invoker_bean_get_msg_ctx_ref_key(st_map_bean, - env); + key = sandesha2_invoker_bean_get_msg_ctx_ref_key( + (sandesha2_rm_bean_t *) st_map_bean, env); msg_to_invoke = sandesha2_storage_mgr_retrieve_msg_ctx( - storage_mgr, env, key, invoker->conf_ctx); + storage_mgr, env, key, invoker->conf_ctx); if(msg_to_invoke) rm_msg_ctx = sandesha2_msg_init_init_msg(env, msg_to_invoke); Modified: webservices/sandesha/trunk/c/src/workers/sender.c URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/workers/sender.c?view=diff&rev=487452&r1=487451&r2=487452 ============================================================================== --- webservices/sandesha/trunk/c/src/workers/sender.c (original) +++ webservices/sandesha/trunk/c/src/workers/sender.c Thu Dec 14 21:33:32 2006 @@ -265,10 +265,10 @@ AXIS2_SLEEP(SANDESHA2_SENDER_SLEEP_TIME); transaction = sandesha2_storage_mgr_get_transaction(storage_mgr, - env); + env); mgr = sandesha2_storage_mgr_get_retrans_mgr(storage_mgr, env); seq_prop_mgr = sandesha2_storage_mgr_get_seq_property_mgr( - storage_mgr, env); + storage_mgr, env); sender_bean = sandesha2_sender_mgr_get_next_msg_to_send(mgr, env); if(!sender_bean) { @@ -276,7 +276,8 @@ "So continue"); continue; } - msg_id = sandesha2_sender_bean_get_msg_id(sender_bean, env); + msg_id = sandesha2_sender_bean_get_msg_id((sandesha2_rm_bean_t *) + sender_bean, env); sandesha2_transaction_commit(transaction, env); if(msg_id) { Modified: webservices/sandesha/trunk/c/src/workers/sender_worker.c URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/workers/sender_worker.c?view=diff&rev=487452&r1=487451&r2=487452 ============================================================================== --- webservices/sandesha/trunk/c/src/workers/sender_worker.c (original) +++ webservices/sandesha/trunk/c/src/workers/sender_worker.c Thu Dec 14 21:33:32 2006 @@ -280,7 +280,7 @@ qualified_for_sending, SANDESHA2_VALUE_TRUE)) { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, - "[sandesha2] Message is not qualified for sending sending"); + "[sandesha2] Message is not qualified for sending"); return NULL; } rm_msg_ctx = sandesha2_msg_init_init_msg(env, msg_ctx); @@ -379,7 +379,8 @@ AXIS2_MSG_CTX_SET_PROPERTY(msg_ctx, env, SANDESHA2_WITHIN_TRANSACTION, property, AXIS2_FALSE); } - msg_id = sandesha2_sender_bean_get_msg_id(sender_worker_bean, env); + msg_id = sandesha2_sender_bean_get_msg_id((sandesha2_rm_bean_t *) + sender_worker_bean, env); bean1 = sandesha2_sender_mgr_retrieve(sender_mgr, env, msg_id); if(bean1) { @@ -398,7 +399,8 @@ { axis2_char_t *msg_stored_key = NULL; - msg_id = sandesha2_sender_bean_get_msg_id(bean1, env); + msg_id = sandesha2_sender_bean_get_msg_id((sandesha2_rm_bean_t *) + bean1, env); sandesha2_sender_mgr_remove(sender_mgr, env, msg_id); /* Removing the message from the storage */ msg_stored_key = sandesha2_sender_bean_get_msg_ctx_ref_key( --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
