Bug 1252416 - (6.0.x) New deployment of another SwitchYard application disables ExchangeInterceptors
Summary: (6.0.x) New deployment of another SwitchYard application disables ExchangeInt...
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: JBoss Fuse Service Works 6
Classification: JBoss
Component: SwitchYard
Version: 6.0.0 GA
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: CR1
: ---
Assignee: tcunning
QA Contact: Matej Melko
URL:
Whiteboard:
Depends On:
Blocks: 1214695
TreeView+ depends on / blocked
 
Reported: 2015-08-11 11:06 UTC by Tadayoshi Sato
Modified: 2025-02-10 03:47 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
: 1286688 (view as bug list)
Environment:
Last Closed: 2025-02-10 03:47:59 UTC
Type: Support Patch
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker ENTESB-3811 0 Major Resolved [FSW 6.0.x] New deployment of another SwitchYard application disables ExchangeInterceptors 2016-09-09 16:22:09 UTC

Description Tadayoshi Sato 2015-08-11 11:06:12 UTC
Cloned from https://issues.jboss.org/browse/ENTESB-3811

Suppose we have two SwitchYard applications, 'switchyard-example1' and 'switchyard-example2'. 'switchyard-example1' (consumer) invokes 'switchyard-example2' (provider) via SCA binding. 'switchyard-example2' has an exchange intercepter 'SimpleInterceptor'.

When we deploy 'switchyard-example2' and 'switchyard-example1' in sequence, 'SimpleInterceptor' doesn't work. The log shows:

  [example1.ConsumerServiceBean] ============================================================
  [example2.ProviderServiceBean] Received: ConsumerServiceBean
  [example1.ConsumerServiceBean] Hello, ConsumerServiceBean!
  [example1.ConsumerServiceBean] ============================================================

Then redeploying 'switchyard-example2' alone, we see it starts to work:

  [example1.ConsumerServiceBean] ============================================================
  [example2.SimpleInterceptor] ***** Before: ProviderService -> ProviderService
  [example2.ProviderServiceBean] Received: ConsumerServiceBean
  [example2.SimpleInterceptor] ***** After:  ProviderService <- ProviderService
  [example1.ConsumerServiceBean] Hello, ConsumerServiceBean!
  [example1.ConsumerServiceBean] ============================================================

But then redeploying 'switchyard-example1' alone this time, we now see it disabled again:

  [example1.ConsumerServiceBean] ============================================================
  [example2.ProviderServiceBean] Received: ConsumerServiceBean
  [example1.ConsumerServiceBean] Hello, ConsumerServiceBean!
  [example1.ConsumerServiceBean] ============================================================

Interestingly, if we redeploy 'switchyard-example1' but invoke 'switchyard-example2' in some other way (e.g. remote client invocation using 'HttpInvoker') before 'switchyard-example1' starts to invoke 'switchyard-example2', the interceptor remains working.

This observation makes me suspect that a local SCA invocation from a newly deployed application somehow overrides the bean registry with its thread local context.

Comment 1 tcunning 2015-10-12 16:11:35 UTC
Backported changes to core 1.x branch.

Comment 3 ppecka 2016-03-30 12:40:44 UTC
VERIFIED with reproducers

cd switchyard-example2
mvn clean package jboss-as:deploy
cd ../switchyard-example1
mvn clean package jboss-as:deploy

23:17:45,013 INFO [com.example.switchyard.example2.SimpleInterceptor] (DefaultQuartzScheduler-camel-5_Worker-3) * Before: Provider -> ProviderService
23:17:45,014 INFO [com.example.switchyard.example2.ProviderServiceBean] (DefaultQuartzScheduler-camel-5_Worker-3) Received: ConsumerServiceBean
23:17:45,016 INFO [com.example.switchyard.example2.SimpleInterceptor] (DefaultQuartzScheduler-camel-5_Worker-3) * After: Provider <- ProviderService
23:17:45,022 INFO [com.example.switchyard.example1.ConsumerServiceBean] (DefaultQuartzScheduler-camel-5_Worker-3) Hello, ConsumerServiceBean!
23:17:45,023 INFO [com.example.switchyard.example1.ConsumerServiceBean] (DefaultQuartzScheduler-camel-5_Worker-3) ============================================================

Comment 5 Red Hat Bugzilla 2025-02-10 03:47:59 UTC
This product has been discontinued or is no longer tracked in Red Hat Bugzilla.


Note You need to log in before you can comment on or make changes to this bug.