App fails to install on Fecru after switching to spring-scanner-2

Hello everyone,

had a stab at converting our existing app from being transformer based to using spring-scanner-2. After the change, it seems to work fine on all Atlassian products with the sole exception of Fecru.

In Fecru, the app fails to install with the following error:

[ThreadPoolAsyncTaskExecutor::Thread 14 ] org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor DependencyWaiterApplicationContextExecutor-fail - Unable to create application context for [my.plugin.key], unsatisfied dependencies: none
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.atlassian.com/schema/atlassian-scanner/2]
Offending resource: URL [bundle://94.0:0/META-INF/spring/spring-context.xml]

Based on a web search, the common mistake appears to be some sort of library conflict, or forgetting to use ‘provided’ for spring, but I can’t see that we’re doing this. Have checked the resulting JAR and can’t see any packages that seem like they should affect this, and would also expect this to fail on Jira/Confluence et.al. and not just Fecru if we were including something we shouldn’t.

Apparently an instance of DefaultNamespaceHandlerResolver needs to find a META-INF/spring.handlers file containing the scanner/2 namespace via the active class loader - but figuring out how this all fits together and why it isn’t working in Fecru… well… :slight_smile: Debugging this is looking pretty non-trivial at this point, so I’m considering just putting it on the back burner and not spend more time on it for now.

Before I abandon it though, I wanted to check if anyone else has any ideas? Or experiences running spring-scanner(2) on Fecru in general, successful or not?

Regards,
Audun

It’s highly likely that Fecru doesn’t have built-in support for Spring Scanner 2 yet. You may have to fall back to v1.

I should qualify this with the fact that I have successfully used Spring Scanner v1 with Fecru in a plugin. That was over a year ago, and Fecru still hadn’t been updated, whilst all other products had. Fecru is somewhat behind other products when it comes to receiving updates like this. I’ve not done any Fecru work lately so haven’t been keeping up with its releases, but it wouldn’t surprise me in the slightest if it’s still lacking scanner 2.

Thanks for the insight!
Will leave this on a branch for now, I think, and revisit it down the line.