[ 
http://issues.apache.org/jira/browse/AXIS2-532?page=comments#action_12417068 ] 

Deepal Jayasinghe commented on AXIS2-532:
-----------------------------------------

Hi Rajitha

I wen through your patch + documents and they are great. But I have few concern 
about the patch and the proposal (please please dont misunderstand me).

>From your patch I realized that you are trying to do a number of changes to 
>Axis2 to support session management. As you know we have session management in 
>Axis2 and it has limitation too.  As described in your proposal we can not 
>manage session across services groups , so the ideal solution would be to add 
>a way to change service group at the runtime.

And I really want to rename the servicegroupId   into something else :)

I dont know whether I am missing something , can you please explain how do you 
plan to do clustering with your session management proposal. 

As I suggested sometimes ago  you can implement the proposal as Axis2 module 
(like Sandesha , Rampart) , since what you want is to add two handles in the 
flows and share some data across invocations.

Any way from the patch I found following can be change nicely to implement 
Session management as a module.

 You dont need to add two handlers into axis2.xml , what you can do is to add a 
module.xml and add the handlers there what do you think

  +<handler name="SessionHandler"
 +                     class="org.apache.axis2.session.SessionHandler">
 +                <order phase="PreDispatch" phaseLast="true"/>
 +            </handler>


<phase name="MessageOut">
+            <handler name="EndOfRequestHandler"
+                     class="org.apache.axis2.session.EndOfRequestHandler">
+                <order phase="MessageOut" phaseFirst="true"/>
+            </handler>
</phase>


Do we need to support by default , so having default session management stuff 
in axis2.xml is not good to me , what I suggest is to have them as parameters 
then you dont need to do any modifications to AxisConfigBuilder or any other 
core axis2 classes. Still I am thinking to implement session management as a 
module like Sandesha.

+    <!-- ================================================= -->
+    <!-- Session Management and Clustering  -->
+    <!-- Comment this section on client side, no session management is needed 
for client side -->
+    <!-- ================================================= -->
+    <sessionManagerFactory 
class="org.apache.axis2.session.DefaultSessionManagerFactory">
+       <sessionManager class="org.apache.axis2.session.Axis2SessionManager">
Do you really need to have separate field to store session object in Message 
context , you can store that as a property.

And adding session management related stuff into Message receivers not going to 
be work , since ppl can write their own message receivers, so in that case he 
has to aware of session management.

AxisService service = msgContext.getAxisService();
+               if (service !=null && service.getSessionManager() != null){
+                       return service.getSessionManager();
+               }


And I think adding a method to get session manager from AxisService and 
AxisConfiguration is not sound good to me , we have some other alternatives as 
you know even service implementation class we store as a parameter

// first check if there is a session manager for the service
+               AxisService service = msgContext.getAxisService();
+               if (service !=null && service.getSessionManager() != null){
+                       return service.getSessionManager();
+               }


So please comment on this and I am very sorry for my delay to reply 


> Session Management
> ------------------
>
>          Key: AXIS2-532
>          URL: http://issues.apache.org/jira/browse/AXIS2-532
>      Project: Apache Axis 2.0 (Axis2)
>         Type: New Feature

>     Versions: 0.95
>     Reporter: Rajith Attapattu
>  Attachments: session_march_28.patch, session_mgt_march29.patch, 
> session_mgt_march30.patch, session_mgt_march31.patch
>
> Session Management
> -------------------------------
> This patch containes transport independent session mgt using WS-Addressing 
> EPRs
> Interfaces
> --------------
> All interfaces are located in the core module
> Main interfaces useful for users
> org.apache.axis2.session.Session
> org.apache.axis2.session.SessionManager
> org.apache.axis2.session.SessionIdFactory
> There is a Null impl for these interfaces within core
> Implementation
> ------------------------
> All implementation specific classes are located in the session module
> Clustering impl
> ----------------------
> Clustering impl is located within the clustering module
> (only empty classes so far)
> Examples (located in the samples module)
> -----------------
> ATM example
> sample.session.atm.*
> Echo example
> sample.session.echo.*

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


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

Reply via email to