Author: damitha
Date: Wed May 21 10:56:07 2008
New Revision: 658789
URL: http://svn.apache.org/viewvc?rev=658789&view=rev
Log:
Fixng SANDESHA2C-51
Modified:
webservices/sandesha/trunk/c/config/module.xml
webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c
webservices/sandesha/trunk/c/src/util/terminate_mgr.c
webservices/sandesha/trunk/c/src/workers/sender_worker.c
Modified: webservices/sandesha/trunk/c/config/module.xml
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/config/module.xml?rev=658789&r1=658788&r2=658789&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/config/module.xml (original)
+++ webservices/sandesha/trunk/c/config/module.xml Wed May 21 10:56:07 2008
@@ -74,11 +74,11 @@
<!-- General parameters -->
<parameter name="ExponentialBackoff" locked="false">AXIS2_FALSE</parameter>
<parameter name="RetransmissionInterval"
locked="false">4</parameter><!--In seconds-->
- <parameter name="InactivityTimeout" locked="false">16</parameter><!--In
seconds-->
+ <parameter name="InactivityTimeout" locked="false">64</parameter><!--In
seconds-->
<parameter name="StorageManager" locked="false">persistent</parameter>
<parameter name="InvokeInOrder" locked="false">AXIS2_FALSE</parameter>
<parameter name="MessageTypesToDrop" locked="false">none</parameter>
- <parameter name="MaxRetransCount" locked="false">10</parameter>
+ <parameter name="MaxRetransCount" locked="false">100</parameter>
<parameter name="SenderSleepTime" locked="false">100000</parameter><!--In
micro seconds-->
<parameter name="InvokerSleepTime" locked="false">1</parameter>
<parameter name="PollingWaitTime" locked="false">2</parameter>
Modified: webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c?rev=658789&r1=658788&r2=658789&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c
(original)
+++ webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c Wed May
21 10:56:07 2008
@@ -856,6 +856,7 @@
long msg_number = -1;
axis2_char_t *dummy_msg_str = NULL;
axis2_bool_t dummy_msg = AXIS2_FALSE;
+ axis2_bool_t seq_timed_out = AXIS2_FALSE;
sandesha2_seq_property_bean_t *res_highest_msg_bean = NULL;
axis2_char_t msg_number_str[32];
axis2_bool_t send_create_seq = AXIS2_FALSE;
@@ -869,6 +870,7 @@
axis2_msg_ctx_t *req_msg_ctx = NULL;
axis2_relates_to_t *relates_to = NULL;
axis2_char_t *dbname = NULL;
+ sandesha2_seq_property_bean_t *seq_timeout_bean = NULL;
AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI,
"[sandesha2]Entry:sandesha2_app_msg_processor_process_out_msg");
@@ -894,6 +896,7 @@
}
create_seq_mgr = sandesha2_permanent_create_seq_mgr_create(env, dbname);
sender_mgr = sandesha2_permanent_sender_mgr_create(env, dbname);
+
is_svr_side = axis2_msg_ctx_get_server_side(msg_ctx, env);
to_epr = axis2_msg_ctx_get_to(msg_ctx, env);
@@ -1032,6 +1035,34 @@
AXIS2_FREE(env->allocator, spec_ver);
}
}
+
+ seq_timeout_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env,
internal_seq_id,
+ SANDESHA2_SEQ_PROP_SEQ_TIMED_OUT);
+ if(seq_timeout_bean &&
sandesha2_seq_property_bean_get_value(seq_timeout_bean, env)
+ && 0 == axutil_strcmp(AXIS2_VALUE_TRUE,
sandesha2_seq_property_bean_get_value(seq_timeout_bean,
+ env)))
+ {
+ axis2_char_t *temp_int_seq_id =
sandesha2_seq_property_bean_get_seq_id(seq_timeout_bean, env);
+ axis2_char_t *temp_name =
sandesha2_seq_property_bean_get_name(seq_timeout_bean, env);
+ AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI,
+ "[sandesha2] Removing the sequence property named %s in the
sequence %s", temp_name,
+ temp_int_seq_id);
+ sandesha2_seq_property_mgr_remove(seq_prop_mgr, env, temp_int_seq_id,
temp_name);
+
+ if(internal_seq_id)
+ AXIS2_FREE(env->allocator, internal_seq_id);
+ if(seq_prop_mgr)
+ sandesha2_seq_property_mgr_free(seq_prop_mgr, env);
+ if(create_seq_mgr)
+ sandesha2_create_seq_mgr_free(create_seq_mgr, env);
+ if(sender_mgr)
+ sandesha2_sender_mgr_free(sender_mgr, env);
+ if(storage_mgr)
+ sandesha2_storage_mgr_free(storage_mgr, env);
+ /* We should halt the system here. Otherwise application client keep
on sending messages. */
+ exit(AXIS2_FAILURE);
+ }
+
property = axis2_msg_ctx_get_property(msg_ctx, env,
SANDESHA2_CLIENT_MESSAGE_NUMBER);
if(property)
@@ -1076,6 +1107,7 @@
sandesha2_storage_mgr_free(storage_mgr, env);
return AXIS2_FAILURE;
}
+
if(msg_num_lng > 0)
msg_number = msg_num_lng;
else if(system_msg_num > 0)
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?rev=658789&r1=658788&r2=658789&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/util/terminate_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/util/terminate_mgr.c Wed May 21 10:56:07
2008
@@ -496,9 +496,9 @@
seq_term_bean = sandesha2_seq_property_bean_create_with_data(env, seq_id,
SANDESHA2_SEQ_PROP_SEQ_TIMED_OUT, AXIS2_VALUE_TRUE);
- sandesha2_seq_property_mgr_insert(seq_prop_mgr, env, seq_term_bean);
sandesha2_terminate_mgr_clean_sending_side_data(env, conf_ctx, seq_id,
svr_side, storage_mgr, seq_prop_mgr, create_seq_mgr, sender_mgr);
+ sandesha2_seq_property_mgr_insert(seq_prop_mgr, env, seq_term_bean);
AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI,
"[sandesha2]Exit:sandesha2_terminate_mgr_time_out_sending_side_seq");
return AXIS2_SUCCESS;
@@ -598,7 +598,6 @@
create_seq_bean = axutil_array_list_get(found_list, env, i);
key = sandesha2_create_seq_bean_get_ref_msg_store_key(
create_seq_bean, env);
- AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "[sandesha2] dam_key:%s",
key);
if(key)
sandesha2_storage_mgr_remove_msg_ctx(storage_mgr, env, key,
conf_ctx, -1);
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?rev=658789&r1=658788&r2=658789&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/workers/sender_worker.c (original)
+++ webservices/sandesha/trunk/c/src/workers/sender_worker.c Wed May 21
10:56:07 2008
@@ -327,7 +327,6 @@
{
/* This is neccessary to avoid a double free */
axis2_msg_ctx_set_property(msg_ctx, env, AXIS2_TRANSPORT_IN, NULL);
- AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "dam_msg_id:%s", msg_id);
if(AXIS2_TRANSPORT_SENDER_INVOKE(transport_sender, env, msg_ctx))
{
successfully_sent = AXIS2_TRUE;
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]