Mule

default-connector-exception-strategy should not be able to be configured on model should it?

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Minor Minor
  • Resolution: Fixed
  • Affects Version/s: 2.0.0
  • Fix Version/s: 3.0.0
  • Component/s: Core: Configuration
  • Labels:
    None
  • User impact:
    Medium
  • Similar Issues:
    MULE-14 Default exception strategy on the Model
    MULE-4515 default-service-exception-strategy does not honor exception-type-filter
    MULE-3146 Services should use the Model ExceptionStrategy if none is specified on the service itself
    MULE-5387 Exception strategies on models are shared and therefore should not have any MP's that use lifecycle
    MULE-4640 Unify default connector and service exception strategy or limit configuration
    MULE-4449 custom-exception-strategy should take a ref value
    MULE-5895 As a user I want to be able to define a custom default exception strategy that is used when a a flow or service does not define one explicitly
    MULE-1883 Streaming model interceptor and exception strategies not behaving as expected.
    MULE-5087 Configuration patterns do not inherit exception strategies from their parent model
    MULE-3128 Improve the <default-exception-strategy> configuration

Activity

Hide
Dirk Olmes added a comment - 08/Apr/08 01:57 AM

Why not? This is in line with 1.x where configuring an dexception stategy on a model would use that exception strategy for components and connectors, IIRC. The name default-connector-exception-strategy is somewhat misleading then ...

Show
Dirk Olmes added a comment - 08/Apr/08 01:57 AM Why not? This is in line with 1.x where configuring an dexception stategy on a model would use that exception strategy for components and connectors, IIRC. The name default-connector-exception-strategy is somewhat misleading then ...
Hide
Daniel Feist added a comment - 08/Apr/08 09:03 AM

I wasn't sure, it just seemed out of place given that there is a separate element for <default-service-exception-strategy>.

Looking at the code it seems that <default-service....>, <default-connector....> and <custom-exception....> all set the same attribute on the service. Not sure why we have both service and connector options and what the difference is though,,

Show
Daniel Feist added a comment - 08/Apr/08 09:03 AM I wasn't sure, it just seemed out of place given that there is a separate element for <default-service-exception-strategy>. Looking at the code it seems that <default-service....>, <default-connector....> and <custom-exception....> all set the same attribute on the service. Not sure why we have both service and connector options and what the difference is though,,
Hide
Stephen Fenech added a comment - 03/Dec/08 02:10 AM

Also, as it seems it will only allow one or the other but not both, you cannot configure both a <default-service..> and a <default-connector...> on a model. Furthermore, you could also set a <default-service..> exception strategy on the connector, so basically asking the same question as Daniel Feist... does it make sense there? And again, you have to choose one or the other, either <default-service..> or <default-connector..> on the connector, similar to the model.

Show
Stephen Fenech added a comment - 03/Dec/08 02:10 AM Also, as it seems it will only allow one or the other but not both, you cannot configure both a <default-service..> and a <default-connector...> on a model. Furthermore, you could also set a <default-service..> exception strategy on the connector, so basically asking the same question as Daniel Feist... does it make sense there? And again, you have to choose one or the other, either <default-service..> or <default-connector..> on the connector, similar to the model.
Hide
Rick Otten added a comment - 17/Dec/08 12:28 PM

My impression was setting the default-service-exception strategy on the model would apply to all of the services within that model.

Unfortunately when I do this, and get an exception, I get this error:

ERROR 2008-12-17 13:02:00,596 [JST_STN_Test.2] org.mule.service.DefaultServiceExceptionStrategy: The Default Service Exception Strategy has been invoked but there is no current service on the context. Please report this to dev@mule.codehaus.org

ERROR 2008-12-17 13:02:00,602 [JST_STN_Test.2] org.mule.service.DefaultServiceExceptionStrategy: The Default Service Exception Strategy has been invoked but there is no current service on the context. Please report this to dev@mule.codehaus.org

I'm testing this by sending message a bogus host name to an http outbound endpoint.

If you have a default-service-exception-strategy for the whole model, it shouldn't matter whether you have a specific service on the context, should it? [ Which is why I posted the issue as a comment on this JIRA.]

When I configure the default-service-exception-strategy on the specific service, I get this error as well. So I guess putting in a non-existent server address for an http outbound endpoint causes an exception that can't be strategized.
[ Should I open a separate JIRA for that? ]

Show
Rick Otten added a comment - 17/Dec/08 12:28 PM My impression was setting the default-service-exception strategy on the model would apply to all of the services within that model. Unfortunately when I do this, and get an exception, I get this error: ERROR 2008-12-17 13:02:00,596 [JST_STN_Test.2] org.mule.service.DefaultServiceExceptionStrategy: The Default Service Exception Strategy has been invoked but there is no current service on the context. Please report this to dev@mule.codehaus.org ERROR 2008-12-17 13:02:00,602 [JST_STN_Test.2] org.mule.service.DefaultServiceExceptionStrategy: The Default Service Exception Strategy has been invoked but there is no current service on the context. Please report this to dev@mule.codehaus.org I'm testing this by sending message a bogus host name to an http outbound endpoint. If you have a default-service-exception-strategy for the whole model, it shouldn't matter whether you have a specific service on the context, should it? [ Which is why I posted the issue as a comment on this JIRA.] When I configure the default-service-exception-strategy on the specific service, I get this error as well. So I guess putting in a non-existent server address for an http outbound endpoint causes an exception that can't be strategized. [ Should I open a separate JIRA for that? ]
Hide
Andrew Perepelytsya added a comment - 17/Dec/08 02:44 PM

I figure the exception is thrown on a connector level, put the exception strategy on http connector instead.

Show
Andrew Perepelytsya added a comment - 17/Dec/08 02:44 PM I figure the exception is thrown on a connector level, put the exception strategy on http connector instead.
Hide
p p added a comment - 09/Nov/09 09:32 AM

I have hit a similar issue, however my case differs with Ricks example.

An exception is thrown from the service component, and i have a default service exception strategy defined like so:

<model name="MyModel">
<service name="MyService">
<inbound>
<inbound-endpoint ref="RequestEndPoint" />
</inbound>
<pooled-component>
<spring-object bean="persistenceObj" />
</pooled-component>
<outbound>
<pass-through-router>
<outbound-endpoint ref="AckEndpoint" />
</pass-through-router>
</outbound>
<default-service-exception-strategy
enableNotifications="false">
<jms:outbound-endpoint ref="ErrorEndpoint" />
</default-service-exception-strategy>
</service>
</model>

Which causes exact same error;

org.mule.service.DefaultServiceExceptionStrategy: The Default Service Exception Strategy has been invoked but there is no current service on the context. Please report this to dev@mule.codehaus.org

Is this not a valid usecase? i.e. it doesn't make sense to have the exception stratgey defined at the connector level.

Show
p p added a comment - 09/Nov/09 09:32 AM I have hit a similar issue, however my case differs with Ricks example. An exception is thrown from the service component, and i have a default service exception strategy defined like so: <model name="MyModel"> <service name="MyService"> <inbound> <inbound-endpoint ref="RequestEndPoint" /> </inbound> <pooled-component> <spring-object bean="persistenceObj" /> </pooled-component> <outbound> <pass-through-router> <outbound-endpoint ref="AckEndpoint" /> </pass-through-router> </outbound> <default-service-exception-strategy enableNotifications="false"> <jms:outbound-endpoint ref="ErrorEndpoint" /> </default-service-exception-strategy> </service> </model> Which causes exact same error; org.mule.service.DefaultServiceExceptionStrategy: The Default Service Exception Strategy has been invoked but there is no current service on the context. Please report this to dev@mule.codehaus.org Is this not a valid usecase? i.e. it doesn't make sense to have the exception stratgey defined at the connector level.
Hide
Travis Carlson added a comment - 09/Feb/11 12:51 PM

There is no more default-connector-exception-strategy in 3.x

Show
Travis Carlson added a comment - 09/Feb/11 12:51 PM There is no more default-connector-exception-strategy in 3.x

People

Vote (0)
Watch (0)

Dates

  • Created:
    07/Apr/08 03:15 PM
    Updated:
    09/Feb/11 12:51 PM
    Resolved:
    09/Feb/11 12:51 PM