You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Thilo Frotscher (JIRA)" <ji...@apache.org> on 2006/09/07 16:09:23 UTC

[jira] Created: (AXIS2-1120) Phases concept is too confusing - please change for v1.1

Phases concept is too confusing - please change for v1.1
--------------------------------------------------------

                 Key: AXIS2-1120
                 URL: http://issues.apache.org/jira/browse/AXIS2-1120
             Project: Apache Axis 2.0 (Axis2)
          Issue Type: Improvement
          Components: core
    Affects Versions: 1.0
            Reporter: Thilo Frotscher
            Priority: Blocker



With Axis2 1.0 it can easily happen that you engage a module with services without realizing it! 

This is because even if explicitly engaging a module with a *single* service or a *single* operation, its handlers will automatically be invoked for *all* services if they belong to a global phase. There's no warning messages or anything that prevent's you from doing this. IMHO this bevaviour is very confusing, especially for beginners.

I think there are two possible solutions to this:
- disallow engagement with single services or operations for all modules that contain handlers in global phases
  (at the very least, display a warning message that the module will actually be invoked for *all* services)

- or make sure that handlers in global phases are *available*  to all services, but will only be invoked for services that they were *explicitly* engaged with

Either way, the release of Axis2 1.1 is a very good opportunity to change this behaviour. The later you do this, the more backwards compatibility might have to be sacrificed.
I am sure that many users will vote for this change once the use of Axis2 in general and modules in particular is more widespread.

There was a discussion about this on the mailing list, but somehow it died out: http://marc.theaimsgroup.com/?l=axis-dev&m=115394666310204&w=2

Please consider making this change for v1.1
Thanks!


-- 
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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Resolved: (AXIS2-1120) Phases concept is too confusing - please change for v1.1

Posted by "Davanum Srinivas (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-1120?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Davanum Srinivas resolved AXIS2-1120.
-------------------------------------

    Resolution: Won't Fix

> Phases concept is too confusing - please change for v1.1
> --------------------------------------------------------
>
>                 Key: AXIS2-1120
>                 URL: https://issues.apache.org/jira/browse/AXIS2-1120
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Improvement
>          Components: documentation
>    Affects Versions: 1.0
>            Reporter: Thilo Frotscher
>         Assigned To: Deepal Jayasinghe
>            Priority: Critical
>
> With Axis2 1.0 it can easily happen that you engage a module with services without realizing it! 
> This is because even if explicitly engaging a module with a *single* service or a *single* operation, its handlers will automatically be invoked for *all* services if they belong to a global phase. There's no warning messages or anything that prevent's you from doing this. IMHO this bevaviour is very confusing, especially for beginners.
> I think there are two possible solutions to this:
> - disallow engagement with single services or operations for all modules that contain handlers in global phases
>   (at the very least, display a warning message that the module will actually be invoked for *all* services)
> - or make sure that handlers in global phases are *available*  to all services, but will only be invoked for services that they were *explicitly* engaged with
> Either way, the release of Axis2 1.1 is a very good opportunity to change this behaviour. The later you do this, the more backwards compatibility might have to be sacrificed.
> I am sure that many users will vote for this change once the use of Axis2 in general and modules in particular is more widespread.
> There was a discussion about this on the mailing list, but somehow it died out: http://marc.theaimsgroup.com/?l=axis-dev&m=115394666310204&w=2
> Please consider making this change for v1.1
> Thanks!

-- 
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-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Assigned: (AXIS2-1120) Phases concept is too confusing - please change for v1.1

Posted by "Chatra Nakkawita (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/AXIS2-1120?page=all ]

Chatra Nakkawita reassigned AXIS2-1120:
---------------------------------------

    Assignee: Deepal Jayasinghe  (was: Chatra Nakkawita)

Deepal will describe the above scenario in the architecture guide under phases

Thanks,

Chatra

> Phases concept is too confusing - please change for v1.1
> --------------------------------------------------------
>
>                 Key: AXIS2-1120
>                 URL: http://issues.apache.org/jira/browse/AXIS2-1120
>             Project: Apache Axis 2.0 (Axis2)
>          Issue Type: Improvement
>          Components: documentation
>    Affects Versions: 1.0
>            Reporter: Thilo Frotscher
>         Assigned To: Deepal Jayasinghe
>            Priority: Critical
>
> With Axis2 1.0 it can easily happen that you engage a module with services without realizing it! 
> This is because even if explicitly engaging a module with a *single* service or a *single* operation, its handlers will automatically be invoked for *all* services if they belong to a global phase. There's no warning messages or anything that prevent's you from doing this. IMHO this bevaviour is very confusing, especially for beginners.
> I think there are two possible solutions to this:
> - disallow engagement with single services or operations for all modules that contain handlers in global phases
>   (at the very least, display a warning message that the module will actually be invoked for *all* services)
> - or make sure that handlers in global phases are *available*  to all services, but will only be invoked for services that they were *explicitly* engaged with
> Either way, the release of Axis2 1.1 is a very good opportunity to change this behaviour. The later you do this, the more backwards compatibility might have to be sacrificed.
> I am sure that many users will vote for this change once the use of Axis2 in general and modules in particular is more widespread.
> There was a discussion about this on the mailing list, but somehow it died out: http://marc.theaimsgroup.com/?l=axis-dev&m=115394666310204&w=2
> Please consider making this change for v1.1
> Thanks!

-- 
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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Commented: (AXIS2-1120) Phases concept is too confusing - please change for v1.1

Posted by "Deepal Jayasinghe (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-1120?page=comments#action_12433813 ] 
            
Deepal Jayasinghe commented on AXIS2-1120:
------------------------------------------

Well , the problem with option 2 is , Axis2 have no idea about the behavior of the handler. I mean Axis2 does not know which handler capable for what, so Axis2 can not take the decision at the run time by looking at the message context. But as a handler author he knows what he is doing , that is why I mentioned at the runtime handler can check the message context to check whether it is need to invoke or just ignore the message.

Hmm , I dont think we are in a position to make these changes for 1.1 even if we really need to take this into consideration.  So I will reduce the priority  :)

> Phases concept is too confusing - please change for v1.1
> --------------------------------------------------------
>
>                 Key: AXIS2-1120
>                 URL: http://issues.apache.org/jira/browse/AXIS2-1120
>             Project: Apache Axis 2.0 (Axis2)
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 1.0
>            Reporter: Thilo Frotscher
>            Priority: Blocker
>
> With Axis2 1.0 it can easily happen that you engage a module with services without realizing it! 
> This is because even if explicitly engaging a module with a *single* service or a *single* operation, its handlers will automatically be invoked for *all* services if they belong to a global phase. There's no warning messages or anything that prevent's you from doing this. IMHO this bevaviour is very confusing, especially for beginners.
> I think there are two possible solutions to this:
> - disallow engagement with single services or operations for all modules that contain handlers in global phases
>   (at the very least, display a warning message that the module will actually be invoked for *all* services)
> - or make sure that handlers in global phases are *available*  to all services, but will only be invoked for services that they were *explicitly* engaged with
> Either way, the release of Axis2 1.1 is a very good opportunity to change this behaviour. The later you do this, the more backwards compatibility might have to be sacrificed.
> I am sure that many users will vote for this change once the use of Axis2 in general and modules in particular is more widespread.
> There was a discussion about this on the mailing list, but somehow it died out: http://marc.theaimsgroup.com/?l=axis-dev&m=115394666310204&w=2
> Please consider making this change for v1.1
> Thanks!

-- 
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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Commented: (AXIS2-1120) Phases concept is too confusing - please change for v1.1

Posted by "Davanum Srinivas (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-1120?page=comments#action_12433125 ] 
            
Davanum Srinivas commented on AXIS2-1120:
-----------------------------------------

-1 to change behavior. Yes, if we can add more documentation, that's ok. But definitely don't want to remove the concept. 

> Phases concept is too confusing - please change for v1.1
> --------------------------------------------------------
>
>                 Key: AXIS2-1120
>                 URL: http://issues.apache.org/jira/browse/AXIS2-1120
>             Project: Apache Axis 2.0 (Axis2)
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 1.0
>            Reporter: Thilo Frotscher
>            Priority: Blocker
>
> With Axis2 1.0 it can easily happen that you engage a module with services without realizing it! 
> This is because even if explicitly engaging a module with a *single* service or a *single* operation, its handlers will automatically be invoked for *all* services if they belong to a global phase. There's no warning messages or anything that prevent's you from doing this. IMHO this bevaviour is very confusing, especially for beginners.
> I think there are two possible solutions to this:
> - disallow engagement with single services or operations for all modules that contain handlers in global phases
>   (at the very least, display a warning message that the module will actually be invoked for *all* services)
> - or make sure that handlers in global phases are *available*  to all services, but will only be invoked for services that they were *explicitly* engaged with
> Either way, the release of Axis2 1.1 is a very good opportunity to change this behaviour. The later you do this, the more backwards compatibility might have to be sacrificed.
> I am sure that many users will vote for this change once the use of Axis2 in general and modules in particular is more widespread.
> There was a discussion about this on the mailing list, but somehow it died out: http://marc.theaimsgroup.com/?l=axis-dev&m=115394666310204&w=2
> Please consider making this change for v1.1
> Thanks!

-- 
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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Updated: (AXIS2-1120) Phases concept is too confusing - please change for v1.1

Posted by "Thilina Gunarathne (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/AXIS2-1120?page=all ]

Thilina Gunarathne updated AXIS2-1120:
--------------------------------------

    Component/s: documentation
                     (was: core)
       Assignee: Chatra Nakkawita

> Phases concept is too confusing - please change for v1.1
> --------------------------------------------------------
>
>                 Key: AXIS2-1120
>                 URL: http://issues.apache.org/jira/browse/AXIS2-1120
>             Project: Apache Axis 2.0 (Axis2)
>          Issue Type: Improvement
>          Components: documentation
>    Affects Versions: 1.0
>            Reporter: Thilo Frotscher
>         Assigned To: Chatra Nakkawita
>            Priority: Critical
>
> With Axis2 1.0 it can easily happen that you engage a module with services without realizing it! 
> This is because even if explicitly engaging a module with a *single* service or a *single* operation, its handlers will automatically be invoked for *all* services if they belong to a global phase. There's no warning messages or anything that prevent's you from doing this. IMHO this bevaviour is very confusing, especially for beginners.
> I think there are two possible solutions to this:
> - disallow engagement with single services or operations for all modules that contain handlers in global phases
>   (at the very least, display a warning message that the module will actually be invoked for *all* services)
> - or make sure that handlers in global phases are *available*  to all services, but will only be invoked for services that they were *explicitly* engaged with
> Either way, the release of Axis2 1.1 is a very good opportunity to change this behaviour. The later you do this, the more backwards compatibility might have to be sacrificed.
> I am sure that many users will vote for this change once the use of Axis2 in general and modules in particular is more widespread.
> There was a discussion about this on the mailing list, but somehow it died out: http://marc.theaimsgroup.com/?l=axis-dev&m=115394666310204&w=2
> Please consider making this change for v1.1
> Thanks!

-- 
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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Updated: (AXIS2-1120) Phases concept is too confusing - please change for v1.1

Posted by "Deepal Jayasinghe (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/AXIS2-1120?page=all ]

Deepal Jayasinghe updated AXIS2-1120:
-------------------------------------

    Description: 
With Axis2 1.0 it can easily happen that you engage a module with services without realizing it! 

This is because even if explicitly engaging a module with a *single* service or a *single* operation, its handlers will automatically be invoked for *all* services if they belong to a global phase. There's no warning messages or anything that prevent's you from doing this. IMHO this bevaviour is very confusing, especially for beginners.

I think there are two possible solutions to this:
- disallow engagement with single services or operations for all modules that contain handlers in global phases
  (at the very least, display a warning message that the module will actually be invoked for *all* services)

- or make sure that handlers in global phases are *available*  to all services, but will only be invoked for services that they were *explicitly* engaged with

Either way, the release of Axis2 1.1 is a very good opportunity to change this behaviour. The later you do this, the more backwards compatibility might have to be sacrificed.
I am sure that many users will vote for this change once the use of Axis2 in general and modules in particular is more widespread.

There was a discussion about this on the mailing list, but somehow it died out: http://marc.theaimsgroup.com/?l=axis-dev&m=115394666310204&w=2

Please consider making this change for v1.1
Thanks!


  was:

With Axis2 1.0 it can easily happen that you engage a module with services without realizing it! 

This is because even if explicitly engaging a module with a *single* service or a *single* operation, its handlers will automatically be invoked for *all* services if they belong to a global phase. There's no warning messages or anything that prevent's you from doing this. IMHO this bevaviour is very confusing, especially for beginners.

I think there are two possible solutions to this:
- disallow engagement with single services or operations for all modules that contain handlers in global phases
  (at the very least, display a warning message that the module will actually be invoked for *all* services)

- or make sure that handlers in global phases are *available*  to all services, but will only be invoked for services that they were *explicitly* engaged with

Either way, the release of Axis2 1.1 is a very good opportunity to change this behaviour. The later you do this, the more backwards compatibility might have to be sacrificed.
I am sure that many users will vote for this change once the use of Axis2 in general and modules in particular is more widespread.

There was a discussion about this on the mailing list, but somehow it died out: http://marc.theaimsgroup.com/?l=axis-dev&m=115394666310204&w=2

Please consider making this change for v1.1
Thanks!


       Priority: Critical  (was: Blocker)

> Phases concept is too confusing - please change for v1.1
> --------------------------------------------------------
>
>                 Key: AXIS2-1120
>                 URL: http://issues.apache.org/jira/browse/AXIS2-1120
>             Project: Apache Axis 2.0 (Axis2)
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 1.0
>            Reporter: Thilo Frotscher
>            Priority: Critical
>
> With Axis2 1.0 it can easily happen that you engage a module with services without realizing it! 
> This is because even if explicitly engaging a module with a *single* service or a *single* operation, its handlers will automatically be invoked for *all* services if they belong to a global phase. There's no warning messages or anything that prevent's you from doing this. IMHO this bevaviour is very confusing, especially for beginners.
> I think there are two possible solutions to this:
> - disallow engagement with single services or operations for all modules that contain handlers in global phases
>   (at the very least, display a warning message that the module will actually be invoked for *all* services)
> - or make sure that handlers in global phases are *available*  to all services, but will only be invoked for services that they were *explicitly* engaged with
> Either way, the release of Axis2 1.1 is a very good opportunity to change this behaviour. The later you do this, the more backwards compatibility might have to be sacrificed.
> I am sure that many users will vote for this change once the use of Axis2 in general and modules in particular is more widespread.
> There was a discussion about this on the mailing list, but somehow it died out: http://marc.theaimsgroup.com/?l=axis-dev&m=115394666310204&w=2
> Please consider making this change for v1.1
> Thanks!

-- 
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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Commented: (AXIS2-1120) Phases concept is too confusing - please change for v1.1

Posted by "Deepal Jayasinghe (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-1120?page=comments#action_12433341 ] 
            
Deepal Jayasinghe commented on AXIS2-1120:
------------------------------------------

Well , your first option was there in Axis2 in the initial stage , and when service specific module try to put handlers into global phase Axis2 was throwing exception. But we had to change that when it come to real module like security and RM , they wanted not to throw that exception. And final conclusion was to  implement the module or write the handler keeping where it is belong in mind. 

For example if you engage a module called "foo" to service called "bar" and it put handler into global phases , then as a handle write you have to check whether you are engaged to message coming in and do the processing, using message context you can check whether you are engage or not.

I also more reluctant to change the Axis2 initial design , I mean allowing service specific module to put handler into global phases , but finally I have to agree to the community design. Any way at this moment I dont think we can go ahead and change that , only option we have is to write proper document explaining how it works and how should you write handler.

> Phases concept is too confusing - please change for v1.1
> --------------------------------------------------------
>
>                 Key: AXIS2-1120
>                 URL: http://issues.apache.org/jira/browse/AXIS2-1120
>             Project: Apache Axis 2.0 (Axis2)
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 1.0
>            Reporter: Thilo Frotscher
>            Priority: Blocker
>
> With Axis2 1.0 it can easily happen that you engage a module with services without realizing it! 
> This is because even if explicitly engaging a module with a *single* service or a *single* operation, its handlers will automatically be invoked for *all* services if they belong to a global phase. There's no warning messages or anything that prevent's you from doing this. IMHO this bevaviour is very confusing, especially for beginners.
> I think there are two possible solutions to this:
> - disallow engagement with single services or operations for all modules that contain handlers in global phases
>   (at the very least, display a warning message that the module will actually be invoked for *all* services)
> - or make sure that handlers in global phases are *available*  to all services, but will only be invoked for services that they were *explicitly* engaged with
> Either way, the release of Axis2 1.1 is a very good opportunity to change this behaviour. The later you do this, the more backwards compatibility might have to be sacrificed.
> I am sure that many users will vote for this change once the use of Axis2 in general and modules in particular is more widespread.
> There was a discussion about this on the mailing list, but somehow it died out: http://marc.theaimsgroup.com/?l=axis-dev&m=115394666310204&w=2
> Please consider making this change for v1.1
> Thanks!

-- 
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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Commented: (AXIS2-1120) Phases concept is too confusing - please change for v1.1

Posted by "Eran Chinthaka (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-1120?page=comments#action_12433189 ] 
            
Eran Chinthaka commented on AXIS2-1120:
---------------------------------------

You might wanna read this : http://www.developer.com/java/web/article.php/3529321

> Phases concept is too confusing - please change for v1.1
> --------------------------------------------------------
>
>                 Key: AXIS2-1120
>                 URL: http://issues.apache.org/jira/browse/AXIS2-1120
>             Project: Apache Axis 2.0 (Axis2)
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 1.0
>            Reporter: Thilo Frotscher
>            Priority: Blocker
>
> With Axis2 1.0 it can easily happen that you engage a module with services without realizing it! 
> This is because even if explicitly engaging a module with a *single* service or a *single* operation, its handlers will automatically be invoked for *all* services if they belong to a global phase. There's no warning messages or anything that prevent's you from doing this. IMHO this bevaviour is very confusing, especially for beginners.
> I think there are two possible solutions to this:
> - disallow engagement with single services or operations for all modules that contain handlers in global phases
>   (at the very least, display a warning message that the module will actually be invoked for *all* services)
> - or make sure that handlers in global phases are *available*  to all services, but will only be invoked for services that they were *explicitly* engaged with
> Either way, the release of Axis2 1.1 is a very good opportunity to change this behaviour. The later you do this, the more backwards compatibility might have to be sacrificed.
> I am sure that many users will vote for this change once the use of Axis2 in general and modules in particular is more widespread.
> There was a discussion about this on the mailing list, but somehow it died out: http://marc.theaimsgroup.com/?l=axis-dev&m=115394666310204&w=2
> Please consider making this change for v1.1
> Thanks!

-- 
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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Commented: (AXIS2-1120) Phases concept is too confusing - please change for v1.1

Posted by "Eran Chinthaka (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-1120?page=comments#action_12433187 ] 
            
Eran Chinthaka commented on AXIS2-1120:
---------------------------------------

-1 for the initial proposal from me too. 

if something is confusing, I hope the first solution is not to remove it, but to help improve it. So far, at least for me, phases are one of the best concepts in Axis2. 

Deducing from Dims' comment, I propose to create a JIRA requesting more documentation and resolving this issue. 

BTW, which one if confusing?
- the phase concept itself? (Its just a stage in the execution framework, which consists of a set of handlers)
- the implementation of phases in Axis2?
- using phases?

> Phases concept is too confusing - please change for v1.1
> --------------------------------------------------------
>
>                 Key: AXIS2-1120
>                 URL: http://issues.apache.org/jira/browse/AXIS2-1120
>             Project: Apache Axis 2.0 (Axis2)
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 1.0
>            Reporter: Thilo Frotscher
>            Priority: Blocker
>
> With Axis2 1.0 it can easily happen that you engage a module with services without realizing it! 
> This is because even if explicitly engaging a module with a *single* service or a *single* operation, its handlers will automatically be invoked for *all* services if they belong to a global phase. There's no warning messages or anything that prevent's you from doing this. IMHO this bevaviour is very confusing, especially for beginners.
> I think there are two possible solutions to this:
> - disallow engagement with single services or operations for all modules that contain handlers in global phases
>   (at the very least, display a warning message that the module will actually be invoked for *all* services)
> - or make sure that handlers in global phases are *available*  to all services, but will only be invoked for services that they were *explicitly* engaged with
> Either way, the release of Axis2 1.1 is a very good opportunity to change this behaviour. The later you do this, the more backwards compatibility might have to be sacrificed.
> I am sure that many users will vote for this change once the use of Axis2 in general and modules in particular is more widespread.
> There was a discussion about this on the mailing list, but somehow it died out: http://marc.theaimsgroup.com/?l=axis-dev&m=115394666310204&w=2
> Please consider making this change for v1.1
> Thanks!

-- 
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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Commented: (AXIS2-1120) Phases concept is too confusing - please change for v1.1

Posted by "Thilo Frotscher (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-1120?page=comments#action_12433689 ] 
            
Thilo Frotscher commented on AXIS2-1120:
----------------------------------------


I think I have to clarify my request for improvement. By no means I wanted to suggest to completely remove the concept of phases. I think it's generally a great idea. It's just one single behaviour of modules and phases that I think is too confusing. That is, as described before: engaging a module with a single service can result in engaging the module with all services...without any warning.

What do you think about the following suggestions? They should be easy to implement:

1) if a module is engaged with a single service or operation, and the module contains handlers that belong to a global phase, then Axis2 reports a warning
    - in the log file of the servlet container
    - in the web administration frontend (if the engagement was done using the frontend)
   This warning says: "You engaged module FOO with service/operation BAR, but because the module contains global handlers, these will be invoked for ALL messages, no only for messages to service/operation BAR"

2) Deepal wrote that developers of handlers should check in the MessageContext whether the handler was engaged to the incoming message or not. Well, if this information is stored in the MessageContext, why invoke the handler at all? Wouldn't it be better if AxisEngine could do this check and invoke only those handlers that were engaged? This is basically the same like my second suggestion in my initial posting.

I clearly prefer option 2) and still think that this small change is absolutely necessary. It would make the phases concept perfect. Without a change, it's just too complicated to figure out which services a module is engaged with. I am happy to discuss this further and to tell you about feedback from participant's of my Axis2 training courses about this issue. 


> Phases concept is too confusing - please change for v1.1
> --------------------------------------------------------
>
>                 Key: AXIS2-1120
>                 URL: http://issues.apache.org/jira/browse/AXIS2-1120
>             Project: Apache Axis 2.0 (Axis2)
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 1.0
>            Reporter: Thilo Frotscher
>            Priority: Blocker
>
> With Axis2 1.0 it can easily happen that you engage a module with services without realizing it! 
> This is because even if explicitly engaging a module with a *single* service or a *single* operation, its handlers will automatically be invoked for *all* services if they belong to a global phase. There's no warning messages or anything that prevent's you from doing this. IMHO this bevaviour is very confusing, especially for beginners.
> I think there are two possible solutions to this:
> - disallow engagement with single services or operations for all modules that contain handlers in global phases
>   (at the very least, display a warning message that the module will actually be invoked for *all* services)
> - or make sure that handlers in global phases are *available*  to all services, but will only be invoked for services that they were *explicitly* engaged with
> Either way, the release of Axis2 1.1 is a very good opportunity to change this behaviour. The later you do this, the more backwards compatibility might have to be sacrificed.
> I am sure that many users will vote for this change once the use of Axis2 in general and modules in particular is more widespread.
> There was a discussion about this on the mailing list, but somehow it died out: http://marc.theaimsgroup.com/?l=axis-dev&m=115394666310204&w=2
> Please consider making this change for v1.1
> Thanks!

-- 
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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org