You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by da...@apache.org on 2007/03/13 05:52:13 UTC
svn commit: r517527 - in /webservices/sandesha/trunk/c: config/ include/
samples/rm_echo_1_0/ samples/rm_echo_1_1/ samples/rm_mtom_1_0/
src/handlers/ src/msgprocessors/ src/storage/permanent/ src/util/
src/workers/
Author: damitha
Date: Mon Mar 12 21:52:11 2007
New Revision: 517527
URL: http://svn.apache.org/viewvc?view=rev&rev=517527
Log:
Fixed Sandesha2c-30. Also updated rm_echo_1_0 and rm_echo_1_1 samples.
Modified:
webservices/sandesha/trunk/c/config/module.xml
webservices/sandesha/trunk/c/include/sandesha2_constants.h
webservices/sandesha/trunk/c/samples/rm_echo_1_0/rm_echo.c
webservices/sandesha/trunk/c/samples/rm_echo_1_1/rm_echo_1_1.c
webservices/sandesha/trunk/c/samples/rm_mtom_1_0/rm_mtom_1_0.c
webservices/sandesha/trunk/c/src/handlers/sandesha2_in_handler.c
webservices/sandesha/trunk/c/src/msgprocessors/ack_msg_processor.c
webservices/sandesha/trunk/c/src/storage/permanent/permanent_bean_mgr.c
webservices/sandesha/trunk/c/src/storage/permanent/permanent_storage_mgr.c
webservices/sandesha/trunk/c/src/storage/permanent/permanent_transaction.c
webservices/sandesha/trunk/c/src/util/ack_mgr.c
webservices/sandesha/trunk/c/src/util/sandesha2_utils.c
webservices/sandesha/trunk/c/src/util/terminate_mgr.c
webservices/sandesha/trunk/c/src/workers/sender.c
Modified: webservices/sandesha/trunk/c/config/module.xml
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/config/module.xml?view=diff&rev=517527&r1=517526&r2=517527
==============================================================================
--- webservices/sandesha/trunk/c/config/module.xml (original)
+++ webservices/sandesha/trunk/c/config/module.xml Mon Mar 12 21:52:11 2007
@@ -72,7 +72,7 @@
<!-- General parameters -->
<parameter name="ExponentialBackoff" locked="false">AXIS2_TRUE</parameter>
<parameter name="RetransmissionInterval" locked="false">4000</parameter>
- <parameter name="AcknowledgementInterval" locked="false">4000</parameter>
+ <parameter name="AcknowledgementInterval" locked="false">2</parameter><!-- in seconds-->
<parameter name="InactivityTimeout" locked="false">60000</parameter>
<parameter name="StorageManager" locked="false">persistent</parameter>
<parameter name="InvokeInOrder" locked="false">AXIS2_FALSE</parameter>
Modified: webservices/sandesha/trunk/c/include/sandesha2_constants.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/include/sandesha2_constants.h?view=diff&rev=517527&r1=517526&r2=517527
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2_constants.h (original)
+++ webservices/sandesha/trunk/c/include/sandesha2_constants.h Mon Mar 12 21:52:11 2007
@@ -423,7 +423,7 @@
#define SANDESHA2_CLIENT_SLEEP_TIME 4 /* 32 16 */
- #define SANDESHA2_TERMINATE_DELAY 4 /* 100 32 */
+ #define SANDESHA2_TERMINATE_DELAY 4 /* In seconds */
#define SANDESHA2_TEMP_SEQ_ID "uuid:tempID"
@@ -497,7 +497,7 @@
#define SANDESHA2_IN_MESSAGE_STORAGE_KEY "InMsgStoreKey"
#define SANDESHA2_PERSISTANT_PROPERTY_SEPERATOR ",,,"
- #define SANDESHA2_BUSY_WAIT_TIME 8
+ #define SANDESHA2_BUSY_WAIT_TIME 1
#define SANDESHA2_IS_SVR_SIDE "is_svr_side"
#define SANDESHA2_DB "sandesha2_db"
/** @} */
Modified: webservices/sandesha/trunk/c/samples/rm_echo_1_0/rm_echo.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/rm_echo_1_0/rm_echo.c?view=diff&rev=517527&r1=517526&r2=517527
==============================================================================
--- webservices/sandesha/trunk/c/samples/rm_echo_1_0/rm_echo.c (original)
+++ webservices/sandesha/trunk/c/samples/rm_echo_1_0/rm_echo.c Mon Mar 12 21:52:11 2007
@@ -65,7 +65,7 @@
const axis2_char_t *client_home = NULL;
axis2_svc_client_t* svc_client = NULL;
axiom_node_t *payload = NULL;
- axis2_callback_t *callback = NULL;
+ axis2_callback_t *callback1 = NULL;
axis2_callback_t *callback2 = NULL;
axis2_callback_t *callback3 = NULL;
axis2_property_t *property = NULL;
@@ -79,8 +79,6 @@
AXIS2_LOG_LEVEL_CRITICAL);
/* Set end point reference of echo service */
- /*address = "http://127.0.0.1:8888/axis2/services/RMSampleService";*/
- /*address = "http://127.0.0.1:5555/axis2/services/RMSampleService";*/
to = "http://127.0.0.1:5555/axis2/services/RMSampleService";
while ((c = AXIS2_GETOPT(argc, argv, ":a:")) != -1)
{
@@ -126,9 +124,10 @@
}
AXIS2_OPTIONS_SET_USE_SEPARATE_LISTENER(options, env, AXIS2_TRUE);
- /* Seperate listner needs addressing, hence addressing stuff in options */
+ /* Separate listner needs addressing, hence addressing stuff in options */
/*AXIS2_OPTIONS_SET_ACTION(options, env,
"http://127.0.0.1:5555/axis2/services/RMSampleService/anonOutInOp");*/
+ /*AXIS2_OPTIONS_SET_ACTION(options, env, "urn:wsrm:EchoString");*/
reply_to = axis2_endpoint_ref_create(env,
"http://localhost:7777/axis2/services/__ANONYMOUS_SERVICE__/"\
"__OPERATION_OUT_IN__");
@@ -144,7 +143,6 @@
* the client uses
*/
client_home = AXIS2_GETENV("AXIS2C_HOME");
- /*client_home = "/home/damitha/workspace/sandeshaya/c/deploy";*/
if (!client_home)
client_home = "../../deploy";
@@ -158,7 +156,15 @@
AXIS2_ERROR_GET_MESSAGE(env->error));
return -1;
}
-
+ AXIS2_OPTIONS_SET_SOAP_VERSION(options, env, AXIOM_SOAP11);
+ /* RM Version 1.0 */
+ property = axis2_property_create_with_args(env, 3, 0, 0,
+ SANDESHA2_SPEC_VERSION_1_0);
+ if(property)
+ {
+ AXIS2_OPTIONS_SET_PROPERTY(options, env,
+ SANDESHA2_CLIENT_RM_SPEC_VERSION, property);
+ }
/* Set service client options */
AXIS2_SVC_CLIENT_SET_OPTIONS(svc_client, env, options);
@@ -170,21 +176,19 @@
{
return AXIS2_FAILURE;
}
- payload = build_om_payload_for_echo_svc(env, "echo1", "sequence1");
- callback = axis2_callback_create(env);
- AXIS2_CALLBACK_SET_ON_COMPLETE(callback, rm_echo_callback_on_complete);
- AXIS2_CALLBACK_SET_ON_ERROR(callback, rm_echo_callback_on_error);
- sandesha2_client_send_non_blocking(env, svc_client, options, NULL, callback,
- payload, listener_manager);
- wait_on_callback(env, callback);
+ /*payload = build_om_payload_for_echo_svc(env, "echo1", "sequence1");
+ callback1 = axis2_callback_create(env);
+ AXIS2_CALLBACK_SET_ON_COMPLETE(callback1, rm_echo_callback_on_complete);
+ AXIS2_CALLBACK_SET_ON_ERROR(callback1, rm_echo_callback_on_error);
+ AXIS2_SVC_CLIENT_SEND_RECEIVE_NON_BLOCKING(svc_client, env, payload, callback1);
+ wait_on_callback(env, callback1);
payload = build_om_payload_for_echo_svc(env, "echo2", "sequence1");
callback2 = axis2_callback_create(env);
AXIS2_CALLBACK_SET_ON_COMPLETE(callback2, rm_echo_callback_on_complete);
AXIS2_CALLBACK_SET_ON_ERROR(callback2, rm_echo_callback_on_error);
- sandesha2_client_send_non_blocking(env, svc_client, options, NULL, callback2,
- payload, listener_manager);
- wait_on_callback(env, callback2);
+ AXIS2_SVC_CLIENT_SEND_RECEIVE_NON_BLOCKING(svc_client, env, payload, callback2);
+ wait_on_callback(env, callback2);*/
property = axis2_property_create_with_args(env, 0, 0, 0, AXIS2_VALUE_TRUE);
AXIS2_OPTIONS_SET_PROPERTY(options, env, "Sandesha2LastMessage", property);
@@ -192,10 +196,9 @@
callback3 = axis2_callback_create(env);
AXIS2_CALLBACK_SET_ON_COMPLETE(callback3, rm_echo_callback_on_complete);
AXIS2_CALLBACK_SET_ON_ERROR(callback3, rm_echo_callback_on_error);
- sandesha2_client_send_non_blocking(env, svc_client, options, NULL, callback3,
- payload, listener_manager);
+ AXIS2_SVC_CLIENT_SEND_RECEIVE_NON_BLOCKING(svc_client, env, payload, callback3);
wait_on_callback(env, callback3);
- AXIS2_SLEEP(SANDESHA2_MAX_COUNT);
+ AXIS2_SLEEP(2 * SANDESHA2_MAX_COUNT);
if (svc_client)
{
/*AXIS2_SVC_CLIENT_FREE(svc_client, env);*/
Modified: webservices/sandesha/trunk/c/samples/rm_echo_1_1/rm_echo_1_1.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/rm_echo_1_1/rm_echo_1_1.c?view=diff&rev=517527&r1=517526&r2=517527
==============================================================================
--- webservices/sandesha/trunk/c/samples/rm_echo_1_1/rm_echo_1_1.c (original)
+++ webservices/sandesha/trunk/c/samples/rm_echo_1_1/rm_echo_1_1.c Mon Mar 12 21:52:11 2007
@@ -121,8 +121,9 @@
AXIS2_OPTIONS_SET_USE_SEPARATE_LISTENER(options, env, AXIS2_TRUE);
/* Seperate listner needs addressing, hence addressing stuff in options */
- AXIS2_OPTIONS_SET_ACTION(options, env,
- "http://127.0.0.1:8080/axis2/services/RMSampleService/anonOutInOp");
+ /*AXIS2_OPTIONS_SET_ACTION(options, env,
+ "http://127.0.0.1:8080/axis2/services/RMSampleService/anonOutInOp");*/
+ AXIS2_OPTIONS_SET_ACTION(options, env, "urn:wsrm:EchoString");
reply_to = axis2_endpoint_ref_create(env,
"http://localhost:7777/axis2/services/__ANONYMOUS_SERVICE__/"\
"__OPERATION_OUT_IN__");
Modified: webservices/sandesha/trunk/c/samples/rm_mtom_1_0/rm_mtom_1_0.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/rm_mtom_1_0/rm_mtom_1_0.c?view=diff&rev=517527&r1=517526&r2=517527
==============================================================================
--- webservices/sandesha/trunk/c/samples/rm_mtom_1_0/rm_mtom_1_0.c (original)
+++ webservices/sandesha/trunk/c/samples/rm_mtom_1_0/rm_mtom_1_0.c Mon Mar 12 21:52:11 2007
@@ -25,6 +25,7 @@
#include <axis2_callback_recv.h>
#include <axis2_svc_client.h>
#include <sandesha2_client.h>
+#include <sandesha2_constants.h>
#include <sandesha2_client_constants.h>
#include <ctype.h>
@@ -131,6 +132,13 @@
if(property)
AXIS2_OPTIONS_SET_PROPERTY(options, env, SANDESHA2_CLIENT_OFFERED_SEQ_ID,
property);
+ property = axis2_property_create_with_args(env, 3, 0, 0,
+ SANDESHA2_SPEC_VERSION_1_0);
+ if(property)
+ {
+ AXIS2_OPTIONS_SET_PROPERTY(options, env,
+ SANDESHA2_CLIENT_RM_SPEC_VERSION, property);
+ }
svc_ctx = AXIS2_SVC_CLIENT_GET_SVC_CTX(svc_client, env);
conf_ctx = axis2_svc_ctx_get_conf_ctx(svc_ctx, env);
property = axis2_property_create_with_args(env, 0, 0, 0, "4");
@@ -140,9 +148,8 @@
AXIS2_OPTIONS_SET_PROPERTY(options, env, AXIS2_TIMEOUT_IN_SECONDS,
property);
}
- payload = build_om_payload_for_mtom(env, image_name, "test1.jpg");
+ /*payload = build_om_payload_for_mtom(env, image_name, "test1.jpg");
result = AXIS2_SVC_CLIENT_SEND_RECEIVE(svc_client, env, payload);
- /*result = sandesha2_client_get_response_envelope(env, conf_ctx, svc_client, 1);*/
if(result)
{
axis2_char_t *om_str = NULL;
@@ -167,7 +174,6 @@
}
payload = build_om_payload_for_mtom(env, image_name, "test2.jpg");
result = AXIS2_SVC_CLIENT_SEND_RECEIVE(svc_client, env, payload);
- /*result = sandesha2_client_get_response_envelope(env, conf_ctx, svc_client, 1);*/
if(result)
{
axis2_char_t *om_str = NULL;
@@ -182,7 +188,7 @@
else
{
printf("\necho client two way single channel invoke FAILED!\n");
- }
+ }*/
property = axis2_property_create_with_args(env, 0, 0, 0, "4");
if(property)
@@ -195,7 +201,6 @@
AXIS2_OPTIONS_SET_PROPERTY(options, env, "Sandesha2LastMessage",
property);
result = AXIS2_SVC_CLIENT_SEND_RECEIVE(svc_client, env, payload);
- /*result = sandesha2_client_get_response_envelope(env, conf_ctx, svc_client, 1);*/
if(result)
{
axis2_char_t *om_str = NULL;
Modified: webservices/sandesha/trunk/c/src/handlers/sandesha2_in_handler.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/handlers/sandesha2_in_handler.c?view=diff&rev=517527&r1=517526&r2=517527
==============================================================================
--- webservices/sandesha/trunk/c/src/handlers/sandesha2_in_handler.c (original)
+++ webservices/sandesha/trunk/c/src/handlers/sandesha2_in_handler.c Mon Mar 12 21:52:11 2007
@@ -241,7 +241,7 @@
prop, AXIS2_FALSE);
}
AXIS2_LOG_INFO(env->log, "[sandesha2] Exit: sandesha2_in_handler::invoke");
-
+
return AXIS2_SUCCESS;
}
Modified: webservices/sandesha/trunk/c/src/msgprocessors/ack_msg_processor.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/msgprocessors/ack_msg_processor.c?view=diff&rev=517527&r1=517526&r2=517527
==============================================================================
--- webservices/sandesha/trunk/c/src/msgprocessors/ack_msg_processor.c (original)
+++ webservices/sandesha/trunk/c/src/msgprocessors/ack_msg_processor.c Mon Mar 12 21:52:11 2007
@@ -168,7 +168,6 @@
axis2_bool_t added = AXIS2_FALSE;
const axis2_char_t *action = NULL;
sandesha2_msg_ctx_t *fault_msg_ctx = NULL;
-
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK(env->error, rm_msg_ctx, AXIS2_FAILURE);
AXIS2_LOG_INFO(env->log,
Modified: webservices/sandesha/trunk/c/src/storage/permanent/permanent_bean_mgr.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/permanent/permanent_bean_mgr.c?view=diff&rev=517527&r1=517526&r2=517527
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/permanent/permanent_bean_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/storage/permanent/permanent_bean_mgr.c Mon Mar 12 21:52:11 2007
@@ -1176,7 +1176,7 @@
{
int counter = 0;
printf("in busy handler1\n");
- while(rc == SQLITE_BUSY && counter < 8)
+ while(rc == SQLITE_BUSY && counter < 32)
{
printf("in busy handler2\n");
if(*error_msg)
Modified: webservices/sandesha/trunk/c/src/storage/permanent/permanent_storage_mgr.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/permanent/permanent_storage_mgr.c?view=diff&rev=517527&r1=517526&r2=517527
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/permanent/permanent_storage_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/storage/permanent/permanent_storage_mgr.c Mon Mar 12 21:52:11 2007
@@ -381,7 +381,7 @@
axis2_thread_mutex_lock(storage_mgr_impl->mutex);
axis2_allocator_switch_to_global_pool(env->allocator);
- for (index = axis2_hash_first(storage_mgr_impl->transactions , env); index;
+ /*for (index = axis2_hash_first(storage_mgr_impl->transactions , env); index;
index = axis2_hash_next(env, index))
{
void *v = NULL;
@@ -393,11 +393,16 @@
AXIS2_SLEEP(1);
}
- }
+ }*/
thread_id_key = AXIS2_MALLOC(env->allocator, sizeof(char)*128);
sprintf(thread_id_key, "%lu", thread_id);
transaction = (sandesha2_transaction_t *) axis2_hash_get(
storage_mgr_impl->transactions, thread_id_key, AXIS2_HASH_KEY_STRING);
+ while(transaction && sandesha2_permanent_transaction_is_active(transaction, env))
+ {
+ AXIS2_SLEEP(1);
+ }
+
if(!transaction)
{
transaction =
Modified: webservices/sandesha/trunk/c/src/storage/permanent/permanent_transaction.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/permanent/permanent_transaction.c?view=diff&rev=517527&r1=517526&r2=517527
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/permanent/permanent_transaction.c (original)
+++ webservices/sandesha/trunk/c/src/storage/permanent/permanent_transaction.c Mon Mar 12 21:52:11 2007
@@ -167,6 +167,9 @@
}
rc = sqlite3_exec(trans_impl->dbconn, "BEGIN TRANSACTION;", 0, 0,
&error_msg);
+ if(rc == SQLITE_BUSY)
+ rc = sandesha2_permanent_bean_mgr_busy_handler(trans_impl->dbconn,
+ "BEGIN TRANSACTION", 0, 0, &error_msg, rc);
/*printf("came1:thread_id:%ld\n", thread_id);*/
if(rc != SQLITE_OK )
{
@@ -261,20 +264,16 @@
rc = sqlite3_exec(trans_impl->dbconn, "COMMIT TRANSACTION;", 0, 0, &error_msg);
/*unsigned long int thread_id = (unsigned long int) axis2_os_thread_current();
printf("came2:thread_id:%ld\n", thread_id);*/
- /*if(rc == SQLITE_BUSY)
+ if(rc == SQLITE_BUSY)
rc = sandesha2_permanent_bean_mgr_busy_handler(trans_impl->dbconn,
- "COMMIT TRANSACTION;", 0, 0, &error_msg, rc);*/
- while(rc != SQLITE_OK )
+ "COMMIT TRANSACTION", 0, 0, &error_msg, rc);
+ if(rc != SQLITE_OK )
{
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_SQL_ERROR, AXIS2_FAILURE);
AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "sql error %s",
error_msg);
printf("commit error_msg:%s\n", error_msg);
sqlite3_free(error_msg);
- AXIS2_SLEEP(1);
- sqlite3_close(trans_impl->dbconn);
- sandesha2_permanent_transaction_release_locks(trans, env);
- rc = sqlite3_exec(trans_impl->dbconn, "COMMIT TRANSACTION;", 0, 0, &error_msg);
}
sqlite3_close(trans_impl->dbconn);
trans_impl->is_active = AXIS2_FALSE;
@@ -294,6 +293,9 @@
&error_msg);
/*unsigned long int thread_id = (unsigned long int) axis2_os_thread_current();
printf("came3:thread_id:%ld\n", thread_id);*/
+ if(rc == SQLITE_BUSY)
+ rc = sandesha2_permanent_bean_mgr_busy_handler(trans_impl->dbconn,
+ "ROLLBACK TRANSACTION", 0, 0, &error_msg, rc);
if(rc != SQLITE_OK )
{
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_SQL_ERROR, AXIS2_FAILURE);
Modified: webservices/sandesha/trunk/c/src/util/ack_mgr.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/util/ack_mgr.c?view=diff&rev=517527&r1=517526&r2=517527
==============================================================================
--- webservices/sandesha/trunk/c/src/util/ack_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/util/ack_mgr.c Mon Mar 12 21:52:11 2007
@@ -219,7 +219,6 @@
old_ack_bean = axis2_array_list_get(bean_list, env, i);
time_to_send = sandesha2_sender_bean_get_time_to_send(old_ack_bean,
env);
- /*axis2_char_t *msg_id = sandesha2_sender_bean_get_msg_id((const sandesha2_sender_bean_t *)old_ack_bean, env);*/
sandesha2_sender_mgr_remove(retrans_mgr, env,
sandesha2_sender_bean_get_msg_id((sandesha2_rm_bean_t *)
old_ack_bean, env));
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=517527&r1=517526&r2=517527
==============================================================================
--- webservices/sandesha/trunk/c/src/util/sandesha2_utils.c (original)
+++ webservices/sandesha/trunk/c/src/util/sandesha2_utils.c Mon Mar 12 21:52:11 2007
@@ -99,9 +99,9 @@
sandesha2_utils_get_current_time_in_millis(
const axis2_env_t *env)
{
- const long fixed_time = 1153918446;
+ /*const long fixed_time = 1153918446;
+ long millis = -1;*/
long seconds = -1;
- long millis = -1;
struct timeb *tp = AXIS2_MALLOC(env->allocator, sizeof(struct timeb));
ftime(tp);
/* To prevent an overflow we substract a contstant from seconds value
@@ -109,12 +109,13 @@
*
*/
seconds = tp->time;
- seconds -= fixed_time;
+ /*seconds -= fixed_time;
seconds *= 1000;
millis = tp->millitm;
millis = millis + seconds;
- return millis;
+ return millis;*/
+ return seconds;
}
AXIS2_EXTERN axis2_char_t* AXIS2_CALL
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=517527&r1=517526&r2=517527
==============================================================================
--- webservices/sandesha/trunk/c/src/util/terminate_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/util/terminate_mgr.c Mon Mar 12 21:52:11 2007
@@ -640,6 +640,7 @@
axis2_char_t *temp_action = NULL;
axis2_string_t *soap_action = NULL;
const axis2_char_t *to_addr = NULL;
+ long send_time = -1;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK(env->error, rm_msg_ctx, AXIS2_FAILURE);
@@ -741,9 +742,9 @@
terminate_msg_ctx = sandesha2_msg_ctx_get_msg_ctx(terminate_rm_msg, env);
sandesha2_storage_mgr_store_msg_ctx(storage_mgr, env, key,
terminate_msg_ctx);
- sandesha2_sender_bean_set_time_to_send(terminate_bean, env,
- sandesha2_utils_get_current_time_in_millis(env) +
- SANDESHA2_TERMINATE_DELAY);
+ send_time = sandesha2_utils_get_current_time_in_millis(env) +
+ SANDESHA2_TERMINATE_DELAY;
+ sandesha2_sender_bean_set_time_to_send(terminate_bean, env, send_time);
sandesha2_sender_bean_set_msg_id(terminate_bean, env,
sandesha2_msg_ctx_get_msg_id(terminate_rm_msg, env));
sandesha2_sender_bean_set_send(terminate_bean, env, AXIS2_TRUE);
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=517527&r1=517526&r2=517527
==============================================================================
--- webservices/sandesha/trunk/c/src/workers/sender.c (original)
+++ webservices/sandesha/trunk/c/src/workers/sender.c Mon Mar 12 21:52:11 2007
@@ -282,6 +282,11 @@
sender->seq_index++);
transaction = sandesha2_storage_mgr_get_transaction(storage_mgr,
env);
+ if(!transaction)
+ {
+ AXIS2_SLEEP(SANDESHA2_SENDER_SLEEP_TIME);
+ continue;
+ }
mgr = sandesha2_storage_mgr_get_retrans_mgr(storage_mgr, env);
seq_prop_mgr = sandesha2_storage_mgr_get_seq_property_mgr(
storage_mgr, env);
@@ -289,6 +294,7 @@
if(!sender_bean)
{
sandesha2_transaction_commit(transaction, env);
+ AXIS2_SLEEP(SANDESHA2_SENDER_SLEEP_TIME);
continue;
}
msg_id = sandesha2_sender_bean_get_msg_id((sandesha2_rm_bean_t *)
---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org