I updated those schemas and uploaded them to the schema content repo. @Willem, we already have depends-on in beanAttributes of cxf-beans. I was not sure if this is already covering your case or not.
While uploading the schemas, I noticed some CXF configuration schemas are in the schemas folder and some are in the schemas/configuration folder. It's kind of ugly but we probably have to live with it. But should the new configuration schemas be put in the schemas/configuration folder (e.g., clustering.xsd is in schemas but i don't know if that's intended) thanks. regards, aki 2012/5/24 Willem Jiang <[email protected]>: > +1 for it. > I think we also need to add the attribute of depends-on, it will help people > to avoid some bean depends issue. > > > On 5/24/12 5:07 AM, Aki Yoshida wrote: >> >> Regarding this ID type, I think it's time we move this type into the >> cxf-beans schema because we now have three schemas (wsrm, http, and >> cluster) locally defining this ID type. >> >> The cxf-beans schema seems to be the right place. If there is no >> objection, I can do the move and consolidate all these three schemas >> to use that type. >> >> 2012/5/22 Willem Jiang<[email protected]>: >>> >>> Hi Dan, >>> >>> Thanks for the hint, I just commit the new patch to get ride of blueprint >>> schema. >>> >>> >>> On Mon May 21 22:41:12 2012, Daniel Kulp wrote: >>>> >>>> >>>> >>>> >>>> Willem, >>>> >>>> Can we do this without having separate Blueprint and Spring schemas? >>>> Since >>>> this is effectively a new schema for both, I'd hate to have 2 schemas >>>> when >>>> one could do. >>>> >>>> >>>> The configuration/wsrm-manager.xsd did something similar at one point >>>> and >>>> ended up defining a very small "identifiedType" complexType to stick the >>>> attributes that are required instead of pulling them from Spring or >>>> Blueprint. >>>> >>>> Also: the blueprint xsd is invalid. There is a missing closing >>>> element >>>> and the Apache header is missing. But if you get rid of it... >>>> problem >>>> solved. :-) >>>> >>>> Thanks! >>>> >>>> Dan >>>> >>>> >>>> >>>> >>>> On Monday, May 21, 2012 07:00:00 AM [email protected] wrote: >>>>> >>>>> >>>>> Author: ningjiang >>>>> Date: Mon May 21 06:59:59 2012 >>>>> New Revision: 1340905 >>>>> >>>>> URL: http://svn.apache.org/viewvc?rev=1340905&view=rev >>>>> Log: >>>>> CXF-4326 CXF-4327 add blueprint support on the cxf clustering >>>>> >>>>> Added: >>>>> >>>>> >>>>> cxf/trunk/rt/features/clustering/src/main/java/org/apache/cxf/clustering/ >>>>> blueprint/ >>>>> >>>>> cxf/trunk/rt/features/clustering/src/main/java/org/apache/cxf/clustering/ >>>>> blueprint/ClusteringBPNamespaceHandler.java >>>>> >>>>> cxf/trunk/rt/features/clustering/src/main/resources/META-INF/spring.schem >>>>> as cxf/trunk/rt/features/clustering/src/main/resources/OSGI-INF/ >>>>> cxf/trunk/rt/features/clustering/src/main/resources/OSGI-INF/blueprint/ >>>>> >>>>> cxf/trunk/rt/features/clustering/src/main/resources/OSGI-INF/blueprint/cx >>>>> f-clustering.xml >>>>> cxf/trunk/rt/features/clustering/src/main/resources/schemas/ >>>>> cxf/trunk/rt/features/clustering/src/main/resources/schemas/blueprint/ >>>>> >>>>> cxf/trunk/rt/features/clustering/src/main/resources/schemas/blueprint/clu >>>>> stering.xsd >>>>> >>>>> cxf/trunk/rt/features/clustering/src/main/resources/schemas/clustering.xs >>>>> d Modified: >>>>> cxf/trunk/rt/features/clustering/pom.xml >>>>> >>>>> Modified: cxf/trunk/rt/features/clustering/pom.xml >>>>> URL: >>>>> >>>>> http://svn.apache.org/viewvc/cxf/trunk/rt/features/clustering/pom.xml?rev >>>>> =1340905&r1=1340904&r2=1340905&view=diff >>>>> >>>>> ========================================================================= >>>>> ===== --- cxf/trunk/rt/features/clustering/pom.xml (original) >>>>> +++ cxf/trunk/rt/features/clustering/pom.xml Mon May 21 06:59:59 2012 >>>>> @@ -55,6 +55,12 @@ >>>>> <version>${project.version}</version> >>>>> </dependency> >>>>> <dependency> >>>>> +<groupId>org.apache.aries.blueprint</groupId> >>>>> +<artifactId>org.apache.aries.blueprint.core</artifactId> >>>>> +<scope>provided</scope> >>>>> +<optional>true</optional> >>>>> +</dependency> >>>>> +<dependency> >>>>> <groupId>org.springframework</groupId> >>>>> <artifactId>spring-core</artifactId> >>>>> <scope>provided</scope> >>>>> >>>>> Added: >>>>> >>>>> cxf/trunk/rt/features/clustering/src/main/java/org/apache/cxf/clustering/ >>>>> blueprint/ClusteringBPNamespaceHandler.java URL: >>>>> >>>>> http://svn.apache.org/viewvc/cxf/trunk/rt/features/clustering/src/main/ja >>>>> >>>>> >>>>> va/org/apache/cxf/clustering/blueprint/ClusteringBPNamespaceHandler.java?r >>>>> ev=1340905&view=auto >>>>> >>>>> ========================================================================= >>>>> ===== --- >>>>> >>>>> cxf/trunk/rt/features/clustering/src/main/java/org/apache/cxf/clustering/ >>>>> blueprint/ClusteringBPNamespaceHandler.java (added) +++ >>>>> >>>>> cxf/trunk/rt/features/clustering/src/main/java/org/apache/cxf/clustering/ >>>>> blueprint/ClusteringBPNamespaceHandler.java Mon May 21 06:59:59 2012 @@ >>>>> -0,0 +1,59 @@ >>>>> +/** >>>>> + * Licensed to the Apache Software Foundation (ASF) under one >>>>> + * or more contributor license agreements. See the NOTICE file >>>>> + * distributed with this work for additional information >>>>> + * regarding copyright ownership. The ASF licenses this file >>>>> + * to you under the Apache License, Version 2.0 (the >>>>> + * "License"); you may not use this file except in compliance >>>>> + * with the License. You may obtain a copy of the License at >>>>> + * >>>>> + * http://www.apache.org/licenses/LICENSE-2.0 >>>>> + * >>>>> + * Unless required by applicable law or agreed to in writing, >>>>> + * software distributed under the License is distributed on an >>>>> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY >>>>> + * KIND, either express or implied. See the License for the >>>>> + * specific language governing permissions and limitations >>>>> + * under the License. >>>>> + */ >>>>> +package org.apache.cxf.clustering.blueprint; >>>>> + >>>>> +import java.net.URL; >>>>> +import java.util.Set; >>>>> + >>>>> +import org.w3c.dom.Element; >>>>> +import org.w3c.dom.Node; >>>>> + >>>>> +import org.apache.aries.blueprint.NamespaceHandler; >>>>> +import org.apache.aries.blueprint.ParserContext; >>>>> +import org.apache.cxf.clustering.FailoverFeature; >>>>> +import org.apache.cxf.clustering.LoadDistributorTargetSelector; >>>>> +import >>>>> org.apache.cxf.configuration.blueprint.SimpleBPBeanDefinitionParser; >>>>> +import org.osgi.service.blueprint.reflect.ComponentMetadata; >>>>> +import org.osgi.service.blueprint.reflect.Metadata; >>>>> + >>>>> +public class ClusteringBPNamespaceHandler implements NamespaceHandler >>>>> { >>>>> + public ComponentMetadata decorate(Node node, ComponentMetadata >>>>> component, ParserContext context) { + return null; >>>>> + } >>>>> + >>>>> + public Metadata parse(Element element, ParserContext context) { >>>>> + String s = element.getLocalName(); >>>>> + if ("failover".equals(s)) { >>>>> + return new >>>>> SimpleBPBeanDefinitionParser(FailoverFeature.class).parse(element, >>>>> context); + } else if ("loadDistributor".equals(s)) { >>>>> + return new >>>>> >>>>> SimpleBPBeanDefinitionParser(LoadDistributorTargetSelector.class).parse(e >>>>> lement, context); + } >>>>> + return null; >>>>> + } >>>>> + >>>>> + public Set<Class> getManagedClasses() { >>>>> + //probably should have the various stuff in cxf-api in here? >>>>> + return null; >>>>> + } >>>>> + >>>>> + public URL getSchemaLocation(String namespace) { >>>>> + return >>>>> >>>>> getClass().getClassLoader().getResource("/schemas/blueprint/clustering.xs >>>>> d"); + } >>>>> + >>>>> +} >>>>> >>>>> Added: >>>>> >>>>> cxf/trunk/rt/features/clustering/src/main/resources/META-INF/spring.schem >>>>> as URL: >>>>> >>>>> http://svn.apache.org/viewvc/cxf/trunk/rt/features/clustering/src/main/re >>>>> sources/META-INF/spring.schemas?rev=1340905&view=auto >>>>> >>>>> ========================================================================= >>>>> ===== --- >>>>> >>>>> cxf/trunk/rt/features/clustering/src/main/resources/META-INF/spring.schem >>>>> as (added) +++ >>>>> >>>>> cxf/trunk/rt/features/clustering/src/main/resources/META-INF/spring.schem >>>>> as Mon May 21 06:59:59 2012 @@ -0,0 +1,21 @@ >>>>> +# >>>>> +# >>>>> +# Licensed to the Apache Software Foundation (ASF) under one >>>>> +# or more contributor license agreements. See the NOTICE file >>>>> +# distributed with this work for additional information >>>>> +# regarding copyright ownership. The ASF licenses this file >>>>> +# to you under the Apache License, Version 2.0 (the >>>>> +# "License"); you may not use this file except in compliance >>>>> +# with the License. You may obtain a copy of the License at >>>>> +# >>>>> +# http://www.apache.org/licenses/LICENSE-2.0 >>>>> +# >>>>> +# Unless required by applicable law or agreed to in writing, >>>>> +# software distributed under the License is distributed on an >>>>> +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY >>>>> +# KIND, either express or implied. See the License for the >>>>> +# specific language governing permissions and limitations >>>>> +# under the License. >>>>> +# >>>>> +# >>>>> +http\://cxf.apache.org/schemas/clustering.xsd=schemas/clustering.xsd >>>>> \ No newline at end of file >>>>> >>>>> Added: >>>>> >>>>> cxf/trunk/rt/features/clustering/src/main/resources/OSGI-INF/blueprint/cx >>>>> f-clustering.xml URL: >>>>> >>>>> http://svn.apache.org/viewvc/cxf/trunk/rt/features/clustering/src/main/re >>>>> sources/OSGI-INF/blueprint/cxf-clustering.xml?rev=1340905&view=auto >>>>> >>>>> ========================================================================= >>>>> ===== --- >>>>> >>>>> cxf/trunk/rt/features/clustering/src/main/resources/OSGI-INF/blueprint/cx >>>>> f-clustering.xml (added) +++ >>>>> >>>>> cxf/trunk/rt/features/clustering/src/main/resources/OSGI-INF/blueprint/cx >>>>> f-clustering.xml Mon May 21 06:59:59 2012 @@ -0,0 +1,31 @@ >>>>> +<!-- >>>>> + ~ /** >>>>> + ~ * Licensed to the Apache Software Foundation (ASF) under one or >>>>> more >>>>> + ~ * contributor license agreements. See the NOTICE file >>>>> distributed >>>>> with + ~ * this work for additional information regarding copyright >>>>> ownership. + ~ * The ASF licenses this file to You under the Apache >>>>> License, Version 2.0 + ~ * (the "License"); you may not use this file >>>>> except in compliance with + ~ * the License. You may obtain a copy >>>>> of >>>>> the License at >>>>> + ~ * >>>>> + ~ * http://www.apache.org/licenses/LICENSE-2.0 >>>>> + ~ * >>>>> + ~ * Unless required by applicable law or agreed to in writing, >>>>> software + ~ * distributed under the License is distributed on an "AS >>>>> IS" BASIS, + ~ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either >>>>> express or implied. + ~ * See the License for the specific language >>>>> governing permissions and + ~ * limitations under the License. >>>>> + ~ */ >>>>> + --> >>>>> + >>>>> +<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" >>>>> + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>>>> + >>>>> xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0" >>>>> + >>>>> xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 >>>>> http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd"> + >>>>> +<service interface="org.apache.aries.blueprint.NamespaceHandler"> >>>>> +<service-properties> >>>>> +<entry key="osgi.service.blueprint.namespace" >>>>> value="http://cxf.apache.org/blueprint/clustering"/> + >>>>> </service-properties> >>>>> +<bean >>>>> >>>>> class="org.apache.cxf.clustering.blueprint.ClusteringBPNamespaceHandler"/ >>>>>> >>>>>> >>>>>> +</service> >>>>> >>>>> >>>>> +</blueprint> >>>>> \ No newline at end of file >>>>> >>>>> Added: >>>>> >>>>> cxf/trunk/rt/features/clustering/src/main/resources/schemas/blueprint/clu >>>>> stering.xsd URL: >>>>> >>>>> http://svn.apache.org/viewvc/cxf/trunk/rt/features/clustering/src/main/re >>>>> sources/schemas/blueprint/clustering.xsd?rev=1340905&view=auto >>>>> >>>>> ========================================================================= >>>>> ===== --- >>>>> >>>>> cxf/trunk/rt/features/clustering/src/main/resources/schemas/blueprint/clu >>>>> stering.xsd (added) +++ >>>>> >>>>> cxf/trunk/rt/features/clustering/src/main/resources/schemas/blueprint/clu >>>>> stering.xsd Mon May 21 06:59:59 2012 @@ -0,0 +1,57 @@ >>>>> +<xsd:schema xmlns="http://cxf.apache.org/blueprint/clustering" >>>>> + xmlns:xsd="http://www.w3.org/2001/XMLSchema" >>>>> + xmlns:beans="http://www.osgi.org/xmlns/blueprint/v1.0.0" >>>>> + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>>>> + targetNamespace="http://cxf.apache.org/blueprint/clustering" >>>>> + elementFormDefault="qualified" >>>>> + attributeFormDefault="unqualified"> >>>>> + >>>>> +<xsd:import namespace="http://www.osgi.org/xmlns/blueprint/v1.0.0" >>>>> >>>>> schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd" >>>>> /> + >>>>> +<xsd:element name="failover"> >>>>> +<xsd:annotation> >>>>> +<xsd:documentation>Configures the failover feature. This element is >>>>> associated with the org.apache.cxf.clustering.FailoverFeature >>>>> object.</xsd:documentation> +</xsd:annotation> >>>>> +<xsd:complexType> >>>>> +<xsd:complexContent> >>>>> +<xsd:extension base="beans:Tcomponent"> >>>>> +<xsd:all> >>>>> +<xsd:element name="strategy" type="xsd:anyType" >>>>> minOccurs="0"> +<xsd:annotation> >>>>> +<xsd:documentation>Configures the strategy that the >>>>> failover feature will be used. The Strategy object instance need to be >>>>> implemented the >>>>> org.apache.cxf.clustering.FailoverStrategy.</xsd:documentation> + >>>>> </xsd:annotation> >>>>> +</xsd:element> >>>>> +<xsd:element name="targetSelector" type="xsd:anyType" >>>>> minOccurs="0"> +<xsd:annotation> >>>>> +<xsd:documentation>Configures the the targetSelector >>>>> which will be used in the failover feature.</xsd:documentation> + >>>>> </xsd:annotation> >>>>> +</xsd:all> >>>>> +</xsd:complexContent> >>>>> +</xsd:complexType> >>>>> +</xsd:element> >>>>> + >>>>> +<xsd:element name="loadDistributor"> >>>>> +<xsd:annotation> >>>>> +<xsd:documentation>Configures the loadDistributor feature. This >>>>> element is associated with the >>>>> org.apache.cxf.clustering.FailoverFeature >>>>> object.</xsd:documentation> +</xsd:annotation> >>>>> +<xsd:complexType> >>>>> +<xsd:complexContent> >>>>> +<xsd:extension base="beans:Tcomponent"> >>>>> +<xsd:all> >>>>> +<xsd:element name="strategy" type="xsd:anyType" >>>>> minOccurs="0"> +<xsd:annotation> >>>>> +<xsd:documentation>Configures the strategy that the >>>>> loadDistributor feature will be used. The Strategy object instance need >>>>> to be implemented the >>>>> org.apache.cxf.clustering.FailoverStrategy.</xsd:documentation> + >>>>> </xsd:annotation> >>>>> +</xsd:element> >>>>> +<xsd:element name="targetSelector" type="xsd:anyType" >>>>> minOccurs="0"> +<xsd:annotation> >>>>> +<xsd:documentation>Configures the the targetSelector >>>>> which will be used in the loadDistributor feature.</xsd:documentation> >>>>> + >>>>> </xsd:annotation> >>>>> +</xsd:element> >>>>> +</xsd:all> >>>>> +</xsd:extension> >>>>> +</xsd:complexContent> >>>>> +</xsd:complexType> >>>>> +</xsd:element> >>>>> + >>>>> +</xsd:schema> >>>>> \ No newline at end of file >>>>> >>>>> Added: >>>>> >>>>> cxf/trunk/rt/features/clustering/src/main/resources/schemas/clustering.xs >>>>> d URL: >>>>> >>>>> http://svn.apache.org/viewvc/cxf/trunk/rt/features/clustering/src/main/re >>>>> sources/schemas/clustering.xsd?rev=1340905&view=auto >>>>> >>>>> ========================================================================= >>>>> ===== --- >>>>> >>>>> cxf/trunk/rt/features/clustering/src/main/resources/schemas/clustering.xs >>>>> d (added) +++ >>>>> >>>>> cxf/trunk/rt/features/clustering/src/main/resources/schemas/clustering.xs >>>>> d Mon May 21 06:59:59 2012 @@ -0,0 +1,77 @@ >>>>> +<?xml version="1.0" encoding="UTF-8"?> >>>>> +<!-- >>>>> + Licensed to the Apache Software Foundation (ASF) under one >>>>> + or more contributor license agreements. See the NOTICE file >>>>> + distributed with this work for additional information >>>>> + regarding copyright ownership. The ASF licenses this file >>>>> + to you under the Apache License, Version 2.0 (the >>>>> + "License"); you may not use this file except in compliance >>>>> + with the License. You may obtain a copy of the License at >>>>> + >>>>> + http://www.apache.org/licenses/LICENSE-2.0 >>>>> + >>>>> + Unless required by applicable law or agreed to in writing, >>>>> + software distributed under the License is distributed on an >>>>> + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY >>>>> + KIND, either express or implied. See the License for the >>>>> + specific language governing permissions and limitations >>>>> + under the License. >>>>> +--> >>>>> +<xsd:schema xmlns="http://cxf.apache.org/clustering" >>>>> + xmlns:xsd="http://www.w3.org/2001/XMLSchema" >>>>> + xmlns:beans="http://www.springframework.org/schema/beans" >>>>> + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>>>> + targetNamespace="http://cxf.apache.org/clustering" >>>>> + elementFormDefault="qualified" >>>>> + attributeFormDefault="unqualified"> >>>>> + >>>>> +<xsd:import namespace="http://www.springframework.org/schema/beans" >>>>> >>>>> schemaLocation="http://www.springframework.org/schema/beans/spring-beans. >>>>> xsd"/> + >>>>> +<xsd:element name="failover"> >>>>> +<xsd:annotation> >>>>> +<xsd:documentation>Configures the failover feature. This element is >>>>> associated with the org.apache.cxf.clustering.FailoverFeature >>>>> object.</xsd:documentation> +</xsd:annotation> >>>>> +<xsd:complexType> >>>>> +<xsd:complexContent> >>>>> +<xsd:extension base="beans:identifiedType"> >>>>> +<xsd:all> >>>>> +<xsd:element name="strategy" type="xsd:anyType" >>>>> minOccurs="0"> +<xsd:annotation> >>>>> +<xsd:documentation>Configures the strategy that the >>>>> failover feature will be used. The Strategy object instance need to be >>>>> implemented the >>>>> org.apache.cxf.clustering.FailoverStrategy.</xsd:documentation> + >>>>> </xsd:annotation> >>>>> +</xsd:element> >>>>> +<xsd:element name="targetSelector" type="xsd:anyType" >>>>> minOccurs="0"> +<xsd:annotation> >>>>> +<xsd:documentation>Configures the targetSelector which >>>>> will be used in the failover feature.</xsd:documentation> + >>>>> </xsd:annotation> >>>>> +</xsd:element> >>>>> +</xsd:all> >>>>> +</xsd:complexContent> >>>>> +</xsd:complexType> >>>>> +</xsd:element> >>>>> + >>>>> +<xsd:element name="loadDistributor"> >>>>> +<xsd:annotation> >>>>> +<xsd:documentation>Configures the loadDistributor feature. This >>>>> element is associated with the >>>>> org.apache.cxf.clustering.FailoverFeature >>>>> object.</xsd:documentation> +</xsd:annotation> >>>>> +<xsd:complexType> >>>>> +<xsd:complexContent> >>>>> +<xsd:extension base="beans:identifiedType"> >>>>> +<xsd:all> >>>>> +<xsd:element name="strategy" type="xsd:anyType" >>>>> minOccurs="0"> +<xsd:annotation> >>>>> +<xsd:documentation>Configures the strategy that the >>>>> loadDistributor feature will be used. The Strategy object instance need >>>>> to be implemented the >>>>> org.apache.cxf.clustering.FailoverStrategy.</xsd:documentation> + >>>>> </xsd:annotation> >>>>> +</xsd:element> >>>>> +<xsd:element name="targetSelector" type="xsd:anyType" >>>>> minOccurs="0"> +<xsd:annotation> >>>>> +<xsd:documentation>Configures the the targetSelector >>>>> which will be used in the loadDistributor feature.</xsd:documentation> >>>>> + >>>>> </xsd:annotation> >>>>> +</xsd:element> >>>>> +</xsd:all> >>>>> +</xsd:extension> >>>>> +</xsd:complexContent> >>>>> +</xsd:complexType> >>>>> +</xsd:element> >>>>> + >>>>> +</xsd:schema> >>>>> \ No newline at end of file >>> >>> >>> >>> >>> >>> -- >>> Willem >>> ---------------------------------- >>> CamelOne 2012 Conference, May 15-16, 2012: http://camelone.com >>> FuseSource >>> Web: http://www.fusesource.com >>> Blog: http://willemjiang.blogspot.com (English) >>> http://jnn.javaeye.com (Chinese) >>> Twitter: willemjiang >>> Weibo: willemjiang >>> >> > > > -- > Willem > ---------------------------------- > CamelOne 2012 Conference, May 15-16, 2012: http://camelone.com > FuseSource > Web: http://www.fusesource.com > Blog: http://willemjiang.blogspot.com (English) > http://jnn.javaeye.com (Chinese) > Twitter: willemjiang > Weibo: willemjiang
