You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by "Sahan Gamage (JIRA)" <ji...@apache.org> on 2007/07/23 07:52:31 UTC
[jira] Created: (AXIS2C-645) Need to pass configuration context to
axis2_module_shutdown()
Need to pass configuration context to axis2_module_shutdown()
-------------------------------------------------------------
Key: AXIS2C-645
URL: https://issues.apache.org/jira/browse/AXIS2C-645
Project: Axis2-C
Issue Type: Improvement
Components: core/description
Affects Versions: Current (Nightly)
Reporter: Sahan Gamage
Priority: Minor
We need to pass configuration context to module shutdown function since modules might have pushed module specific data as parameters to configuration context. Cleaning module specific data by the module itself and not by the axis2 core is the most suitable way I believe.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org
[jira] Updated: (AXIS2C-645) Need to pass configuration context to
axis2_module_shutdown()
Posted by "S.Uthaiyashankar (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2C-645?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
S.Uthaiyashankar updated AXIS2C-645:
------------------------------------
Fix Version/s: (was: 1.4.1)
1.6.0
> Need to pass configuration context to axis2_module_shutdown()
> -------------------------------------------------------------
>
> Key: AXIS2C-645
> URL: https://issues.apache.org/jira/browse/AXIS2C-645
> Project: Axis2-C
> Issue Type: Improvement
> Components: core/description
> Affects Versions: Current (Nightly)
> Reporter: Sahan Gamage
> Assignee: Damitha Kumarage
> Priority: Minor
> Fix For: 1.6.0
>
>
> We need to pass configuration context to module shutdown function since modules might have pushed module specific data as parameters to configuration context. Cleaning module specific data by the module itself and not by the axis2 core is the most suitable way I believe.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (AXIS2C-645) Need to pass configuration context
to axis2_module_shutdown()
Posted by "Sahan Gamage (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2C-645?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12569715#action_12569715 ]
Sahan Gamage commented on AXIS2C-645:
-------------------------------------
Even in the execution perspective I don't see an extra dependency by doing this. If what you're arguing is correct then passing conf_ctx to the module_init() is also a violation of the abstraction.
The idea was, if the module do something with the conf_ctx at the initialization (and subsequent execution of it's handlers) then it should undo that before exit in order to maintain the correct state. Having a table inside the module and keep track of the changes is one way of doing that. But I would consider that as a "hack" rather than the proper method.
I don't agree with the last point. The module knows what it did push to the conf_ctx as properties and hence it has a good idea about how to pull them out and clean it. Core may not have any idea about the data inside these objects - so module has much more control over cleaning up module specific properties.
> Need to pass configuration context to axis2_module_shutdown()
> -------------------------------------------------------------
>
> Key: AXIS2C-645
> URL: https://issues.apache.org/jira/browse/AXIS2C-645
> Project: Axis2-C
> Issue Type: Improvement
> Components: core/description
> Affects Versions: Current (Nightly)
> Reporter: Sahan Gamage
> Priority: Minor
>
> We need to pass configuration context to module shutdown function since modules might have pushed module specific data as parameters to configuration context. Cleaning module specific data by the module itself and not by the axis2 core is the most suitable way I believe.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org
[jira] Commented: (AXIS2C-645) Need to pass configuration context
to axis2_module_shutdown()
Posted by "Damitha Kumarage (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2C-645?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12592622#action_12592622 ]
Damitha Kumarage commented on AXIS2C-645:
-----------------------------------------
I totoally agree with Sahan. He has clealy detailed the requirement. From modules we do push properties into the conf_ctx and we (modules) are in the best position to free them. So why not pass conf_ctx into shutdown?.
We also should not forget that modules are intended as extension to the core functionality of the engine.
> Need to pass configuration context to axis2_module_shutdown()
> -------------------------------------------------------------
>
> Key: AXIS2C-645
> URL: https://issues.apache.org/jira/browse/AXIS2C-645
> Project: Axis2-C
> Issue Type: Improvement
> Components: core/description
> Affects Versions: Current (Nightly)
> Reporter: Sahan Gamage
> Priority: Minor
>
> We need to pass configuration context to module shutdown function since modules might have pushed module specific data as parameters to configuration context. Cleaning module specific data by the module itself and not by the axis2 core is the most suitable way I believe.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org
[jira] Commented: (AXIS2C-645) Need to pass configuration context
to axis2_module_shutdown()
Posted by "Senaka Fernando (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2C-645?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12569603#action_12569603 ]
Senaka Fernando commented on AXIS2C-645:
----------------------------------------
Hi Sahan,
This would create a dependancy on the core for each module added. And, this will somewhat violate the abstraction of the modules from the core. Also, the cleaning up of the module specific data would rather be a duty of the module rather than the core. Then the core would loose control over un-initializing module specific data. Therefore, it is up to the module to maintain references to specific data and clean them up if it is not intended to be cleant by the core. We do have this behaviour implemented. Therefore I see no real requirement for such an improvement. Am I missing something here?
Regards,
Senaka
> Need to pass configuration context to axis2_module_shutdown()
> -------------------------------------------------------------
>
> Key: AXIS2C-645
> URL: https://issues.apache.org/jira/browse/AXIS2C-645
> Project: Axis2-C
> Issue Type: Improvement
> Components: core/description
> Affects Versions: Current (Nightly)
> Reporter: Sahan Gamage
> Priority: Minor
>
> We need to pass configuration context to module shutdown function since modules might have pushed module specific data as parameters to configuration context. Cleaning module specific data by the module itself and not by the axis2 core is the most suitable way I believe.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org
[jira] Commented: (AXIS2C-645) Need to pass configuration context
to axis2_module_shutdown()
Posted by "Senaka Fernando (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2C-645?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12569653#action_12569653 ]
Senaka Fernando commented on AXIS2C-645:
----------------------------------------
Hi Sahan,
I'll try to contact the sandesha folks first. And, well, I guess the dependency is not library/code wise, but execution logic wise. The core is told what to do and simply does it. But, no other module shares responsibility in doing any core tasks. But, this fix would violate that. That's what I meant by violation of abstraction. It is because you are asking for control over resources delegated beyond the interface boundary, for which you didn't retain ownership.
Therefore, we should rather maintain a table of references, with appropriate cleanup procedures. These can be called at module_shutdown(). This will rather not affect the abstraction as mentioned in the Axis2 architecture. This is because this table will lie in the module side of the interface boundary and thus would act as a certification of ownership. Thus, the module will gain control over module specific detail.
Obviously the core would have more control over cleaning up module data. And, the module specific cleanup would be an assert to the existing logic rather than a replacement. Thus, you'll have to be certain on whether you let the core do the cleanup or you do the cleanup. This can and should be controlled within the module_init() function.
Regards,
Senaka
> Need to pass configuration context to axis2_module_shutdown()
> -------------------------------------------------------------
>
> Key: AXIS2C-645
> URL: https://issues.apache.org/jira/browse/AXIS2C-645
> Project: Axis2-C
> Issue Type: Improvement
> Components: core/description
> Affects Versions: Current (Nightly)
> Reporter: Sahan Gamage
> Priority: Minor
>
> We need to pass configuration context to module shutdown function since modules might have pushed module specific data as parameters to configuration context. Cleaning module specific data by the module itself and not by the axis2 core is the most suitable way I believe.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org
[jira] Commented: (AXIS2C-645) Need to pass configuration context
to axis2_module_shutdown()
Posted by "Sahan Gamage (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2C-645?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12569636#action_12569636 ]
Sahan Gamage commented on AXIS2C-645:
-------------------------------------
Hi Senaka,
It has been a while since I created this issue and the requirement came from Sandesha side. I am not quite sure if they have found a way around this particular issue and hence still exists. But here's my explanation :
Passing configuration context to module_shutdown() will not create an extra dependency on core at least on library/code wise because we're already passing conf_ctx to the module_init() function. Are you talking about any other dependancy ?
Also, the functions defined in the axis2_module.h are indeed the interface points between core and the particular module. I don't see a violation of abstraction when we add conf_ctx to the module_shutdown() function defined in this interface.
As you said, cleaning up module specific data is indeed module's task and that's why the shutdown function exists; axis2 core gives the module a chance to clean up the things it has created before going away and these things may not be simple objects, they can be as complicated as db connections. The modules add/change some properties to the configuration context in order to maintain it's life-cycle in the message processing pipe. If the module gets shutdown it needs to clean up this data inside the shutdown function and hence need access to the conf_ctx inside the shutdown() function. Is there any other way to get around this thing ?
> Need to pass configuration context to axis2_module_shutdown()
> -------------------------------------------------------------
>
> Key: AXIS2C-645
> URL: https://issues.apache.org/jira/browse/AXIS2C-645
> Project: Axis2-C
> Issue Type: Improvement
> Components: core/description
> Affects Versions: Current (Nightly)
> Reporter: Sahan Gamage
> Priority: Minor
>
> We need to pass configuration context to module shutdown function since modules might have pushed module specific data as parameters to configuration context. Cleaning module specific data by the module itself and not by the axis2 core is the most suitable way I believe.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org
[jira] Assigned: (AXIS2C-645) Need to pass configuration context to
axis2_module_shutdown()
Posted by "Damitha Kumarage (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2C-645?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Damitha Kumarage reassigned AXIS2C-645:
---------------------------------------
Assignee: Damitha Kumarage
> Need to pass configuration context to axis2_module_shutdown()
> -------------------------------------------------------------
>
> Key: AXIS2C-645
> URL: https://issues.apache.org/jira/browse/AXIS2C-645
> Project: Axis2-C
> Issue Type: Improvement
> Components: core/description
> Affects Versions: Current (Nightly)
> Reporter: Sahan Gamage
> Assignee: Damitha Kumarage
> Priority: Minor
>
> We need to pass configuration context to module shutdown function since modules might have pushed module specific data as parameters to configuration context. Cleaning module specific data by the module itself and not by the axis2 core is the most suitable way I believe.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org
[jira] Commented: (AXIS2C-645) Need to pass configuration context
to axis2_module_shutdown()
Posted by "Supun Kamburugamuva (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2C-645?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12607210#action_12607210 ]
Supun Kamburugamuva commented on AXIS2C-645:
--------------------------------------------
Hi Everyone,
I went through your discussions. It seems that there is no agreement at the end. Is there any changes done is the trunk regarding this Jira or still nothing has been doe? How about calling for a vote?
> Need to pass configuration context to axis2_module_shutdown()
> -------------------------------------------------------------
>
> Key: AXIS2C-645
> URL: https://issues.apache.org/jira/browse/AXIS2C-645
> Project: Axis2-C
> Issue Type: Improvement
> Components: core/description
> Affects Versions: Current (Nightly)
> Reporter: Sahan Gamage
> Assignee: Damitha Kumarage
> Priority: Minor
>
> We need to pass configuration context to module shutdown function since modules might have pushed module specific data as parameters to configuration context. Cleaning module specific data by the module itself and not by the axis2 core is the most suitable way I believe.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org
[jira] Commented: (AXIS2C-645) Need to pass configuration context
to axis2_module_shutdown()
Posted by "Senaka Fernando (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2C-645?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12569733#action_12569733 ]
Senaka Fernando commented on AXIS2C-645:
----------------------------------------
Hi Sahan,
OK, I agree with you. But, we have another problem.
What seems to be happening is that the configuration does not know about the configuration context and the configuration context not knowing about the modules, but the modules knowing about the configuration context. Of course there seems to be a better "hack", which is that the module keeping a reference to the conf_ctx. Which will get your problem solved in no time. But, you are not supposed to do that. It is because the core will have no idea that the module is sharing its responsibilities.
* According to the current layout, a configuration context has a configuration. A configuration would know about modules. But, a configuration would necessarily not know about the configuration context.
* And, we have a configuration initializer that knows about all these components. It is rather a builder, and that may delegate resources to the conf, modules etc.
* For the shutdown process, we don't have a manager. It is merely a freeing of resources that lead into calling the shutdown method.
Thus, to facilitate your requirement, Sahan, it seems that we will have to introduce a manager to oversee the shutdown process, which AFAIK is not possible in C, as there is no way to free the manager. Thus, we'll have to introduce an overall manager for the whole core plus modules etc, to manage the entire engine (similar to a runtime).
If you simply think about this issue in a C programmer's perspective I believe this can be achieved, but, thinking in an OO perspective it requires an architectural level change.
> Need to pass configuration context to axis2_module_shutdown()
> -------------------------------------------------------------
>
> Key: AXIS2C-645
> URL: https://issues.apache.org/jira/browse/AXIS2C-645
> Project: Axis2-C
> Issue Type: Improvement
> Components: core/description
> Affects Versions: Current (Nightly)
> Reporter: Sahan Gamage
> Priority: Minor
>
> We need to pass configuration context to module shutdown function since modules might have pushed module specific data as parameters to configuration context. Cleaning module specific data by the module itself and not by the axis2 core is the most suitable way I believe.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org
[jira] Updated: (AXIS2C-645) Need to pass configuration context to
axis2_module_shutdown()
Posted by "Damitha Kumarage (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2C-645?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Damitha Kumarage updated AXIS2C-645:
------------------------------------
Fix Version/s: 1.4.1
I think it seems that we need to fix this as the point is not successfully countered.
But I am postponing the fix to 1.4.1.
> Need to pass configuration context to axis2_module_shutdown()
> -------------------------------------------------------------
>
> Key: AXIS2C-645
> URL: https://issues.apache.org/jira/browse/AXIS2C-645
> Project: Axis2-C
> Issue Type: Improvement
> Components: core/description
> Affects Versions: Current (Nightly)
> Reporter: Sahan Gamage
> Assignee: Damitha Kumarage
> Priority: Minor
> Fix For: 1.4.1
>
>
> We need to pass configuration context to module shutdown function since modules might have pushed module specific data as parameters to configuration context. Cleaning module specific data by the module itself and not by the axis2 core is the most suitable way I believe.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org