Samisa Abeysinghe wrote:

Damitha Kumarage wrote:

Hi,
I have a requirement to load a serivce at the load time of the axis2c engine. I can see that currently it is not possible with the axis2c. So I have implemented
it.
To do that I have implemented a method called
static axis2_status_t AXIS2_CALL
axis2_init_services(
   const axutil_env_t *env,
   axis2_conf_ctx_t *conf_ctx);

which is called from axis2_build_conf_ctx.

We need to add a parameter to services.xml for service that need to be
initialized.
<parameter name="Axis2InitService" locked="xsd:false">true</parameter>

Then those services could be accessed by the following function.
   /**
* Gets all the list of services that need to be loaded into configuration
    * at the start up of the axis2 engine.
    * @param conf pointer to conf struct
    * @param env pointer to environment struct
    * @return a pointer to the hash table of services. Returns a
    * reference, not a cloned copy
    */
   AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
   axis2_conf_get_all_init_svcs(
       const axis2_conf_t *conf,
       const axutil_env_t *env);

If there is no ojection I'll commit the code.

I see that you have already committed the code ;) I have no objections, but a suggestion. Rather than calling the service.xml parameter "Axis2InitService", lets call it "loadServiceAtStartup", because that is what we are really doing. Also in line with that, lets rename the function, axis2_conf_get_all_init_svcs to axis2_conf_get_all_svcs_to_load.
And the function axis2_init_services to axis2_load_services.

I will do the changes you suggested.
Thanks
Damitha


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to