Return-Path: X-Original-To: apmail-cxf-issues-archive@www.apache.org Delivered-To: apmail-cxf-issues-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 67912D260 for ; Fri, 12 Oct 2012 20:15:03 +0000 (UTC) Received: (qmail 42581 invoked by uid 500); 12 Oct 2012 20:15:03 -0000 Delivered-To: apmail-cxf-issues-archive@cxf.apache.org Received: (qmail 42512 invoked by uid 500); 12 Oct 2012 20:15:03 -0000 Mailing-List: contact issues-help@cxf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cxf.apache.org Delivered-To: mailing list issues@cxf.apache.org Received: (qmail 42502 invoked by uid 99); 12 Oct 2012 20:15:03 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 12 Oct 2012 20:15:03 +0000 Date: Fri, 12 Oct 2012 20:15:03 +0000 (UTC) From: "Eugene Scripnik (JIRA)" To: issues@cxf.apache.org Message-ID: <712963173.39427.1350072903269.JavaMail.jiratomcat@arcas> In-Reply-To: <1308942259.38952.1340289523235.JavaMail.jiratomcat@issues-vm> Subject: [jira] [Commented] (CXF-4391) org.apache.cxf.configuration.spring.ConfigurerImpl.initWildcardDefinitionMap does not fail silently when bean names containing certain characters do not parse as a regex MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/CXF-4391?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13475312#comment-13475312 ] Eugene Scripnik commented on CXF-4391: -------------------------------------- Do I understand correctly that this fix will not work for my problem? > org.apache.cxf.configuration.spring.ConfigurerImpl.initWildcardDefinitionMap does not fail silently when bean names containing certain characters do not parse as a regex > ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: CXF-4391 > URL: https://issues.apache.org/jira/browse/CXF-4391 > Project: CXF > Issue Type: Bug > Components: Core > Affects Versions: 2.6.1 > Environment: Spring 3.0.5 App using Spring integration and SpEL expressions > Reporter: Owen Cliffe > Assignee: Daniel Kulp > Priority: Minor > Fix For: 2.5.7, 2.6.4, 2.7.1 > > > When ConfigurerImpl.initWildcardDefinitionMap scans bean names for wildcard matches it assumes that all bean definition names containing "*,?,(.+)" are wildcard beans. > When using Spring integration it is possible in certain places to refer to bean names via a SPeL expression (e.g referencing channels defined as constants),: > i.e. > {code} > > ... > {code} > When CXF initialises it tries to parse the uninterpolated value as a regex: > {code} > Caused by: java.util.regex.PatternSyntaxException: Illegal repetition near index 0 > #{T(foo.bar.Channels).DEFINED_CHANEL} > ^ > at java.util.regex.Pattern.error(Pattern.java:1713) > at java.util.regex.Pattern.closure(Pattern.java:2775) > at java.util.regex.Pattern.sequence(Pattern.java:1889) > at java.util.regex.Pattern.expr(Pattern.java:1752) > at java.util.regex.Pattern.compile(Pattern.java:1460) > at java.util.regex.Pattern.(Pattern.java:1133) > at java.util.regex.Pattern.compile(Pattern.java:823) > at org.apache.cxf.configuration.spring.ConfigurerImpl.initWildcardDefinitionMap(ConfigurerImpl.java:93) > at org.apache.cxf.configuration.spring.ConfigurerImpl.addApplicationContext(ConfigurerImpl.java:245) > at org.apache.cxf.configuration.spring.ConfigurerImpl.setApplicationContext(ConfigurerImpl.java:225) > at org.apache.cxf.configuration.spring.ConfigurerImpl.(ConfigurerImpl.java:75) > at org.apache.cxf.bus.spring.SpringBus.setApplicationContext(SpringBus.java:90) > at org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor.getBusForName(BusWiringBeanFactoryPostProcessor.java:73) > at org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor.addDefaultBus(BusWiringBeanFactoryPostProcessor.java:189) > at org.apache.cxf.jaxws22.spring.JAXWS22SpringEndpointImpl.setApplicationContext(JAXWS22SpringEndpointImpl.java:53) > at org.springframework.context.support.ApplicationContextAwareProcessor.invokeAwareInterfaces(ApplicationContextAwareProcessor.java:106) > at org.springframework.context.support.ApplicationContextAwareProcessor.postProcessBeforeInitialization(ApplicationContextAwareProcessor.java:85) > at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:394) > at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1413) > at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) > {code} > While this is slightly unusual it may also occur elsewhere that SPeL is used - the context will fail to load whenver CXF does not like the bean name. > I think the default behaviour here should be to catch the Regex Exception and silently (or log) proceed to the next bean. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira