4 ~ Licensed to the Apache Software Foundation (ASF) under one
5 ~ or more contributor license agreements. See the NOTICE file
6 ~ distributed with this work for additional information
7 ~ regarding copyright ownership. The ASF licenses this file
8 ~ to you under the Apache License, Version 2.0 (the
9 ~ "License"); you may not use this file except in compliance
10 ~ with the License. You may obtain a copy of the License at
12 ~ http://www.apache.org/licenses/LICENSE-2.0
14 ~ Unless required by applicable law or agreed to in writing,
15 ~ software distributed under the License is distributed on an
16 ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17 ~ KIND, either express or implied. See the License for the
18 ~ specific language governing permissions and limitations
21 <beans xmlns="http://www.springframework.org/schema/beans"
22 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
23 xmlns:context="http://www.springframework.org/schema/context"
24 xmlns:jaxrs="http://cxf.apache.org/jaxrs"
25 xsi:schemaLocation="http://www.springframework.org/schema/beans
26 http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
27 http://www.springframework.org/schema/context
28 http://www.springframework.org/schema/context/spring-context-3.0.xsd
29 http://cxf.apache.org/jaxrs
30 http://cxf.apache.org/schemas/jaxrs.xsd" default-lazy-init="true">
32 <import resource="classpath:META-INF/cxf/cxf.xml"/>
34 <import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml"/>
36 <import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>
38 <context:annotation-config/>
39 <context:component-scan
40 base-package="org.apache.archiva.rest.services,org.apache.archiva.redback.rest.services"/>
42 <!-- CXF OpenApiFeature -->
43 <bean id="archivaOpenApiFeature" class="org.apache.cxf.jaxrs.openapi.OpenApiFeature">
44 <property name="scanKnownConfigLocations" value="false"/>
45 <property name="configLocation" value="archiva/openapi-configuration.yaml"/>
46 <property name="scan" value="false"/>
47 <property name="useContextBasedConfig" value="true"/>
48 <!-- <property name="scannerClass" value="io.swagger.v3.jaxrs2.integration.JaxrsApplicationScanner"/> -->
52 <bean id="jsonProvider" class="com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider">
53 <property name="mapper" ref="redbackJacksonJsonMapper"/>
56 <bean id="v2.jsonProvider" class="com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider">
57 <property name="mapper" ref="v2.redbackJacksonJsonMapper"/>
60 <bean id="xmlProvider" class="com.fasterxml.jackson.jaxrs.xml.JacksonJaxbXMLProvider">
61 <property name="mapper" ref="redbackJacksonXMLMapper"/>
64 <bean id="redbackJacksonJsonMapper" class="com.fasterxml.jackson.databind.ObjectMapper" />
65 <bean id="v2.redbackJacksonJsonMapper" class="com.fasterxml.jackson.databind.ObjectMapper" >
67 <bean id="redbackJacksonXMLMapper" class="com.fasterxml.jackson.dataformat.xml.XmlMapper" />
70 <jaxrs:server name="archivaServices" address="/archivaServices" >
73 <ref bean="jsonProvider" />
74 <ref bean="xmlProvider" />
75 <ref bean="authenticationInterceptor#rest"/>
76 <ref bean="permissionInterceptor#rest"/>
77 <ref bean="requestValidationInterceptor#rest" />
78 <ref bean="archivaRestServiceExceptionMapper"/>
79 <ref bean="threadLocalUserCleaner#rest" />
83 <ref bean="browseService#rest"/>
84 <ref bean="pingService#rest"/>
85 <ref bean="repositoriesService#rest"/>
86 <ref bean="managedRepositoriesService#rest"/>
87 <ref bean="remoteRepositoriesService#rest"/>
88 <ref bean="repositoryGroupService#rest"/>
89 <ref bean="proxyConnectorService#rest"/>
90 <ref bean="networkProxyService#rest"/>
91 <ref bean="archivaAdministrationService#default"/>
92 <ref bean="searchService#rest"/>
93 <ref bean="commonServices#rest"/>
94 <ref bean="pluginsService#rest"/>
95 <ref bean="systemStatusService#rest"/>
96 <ref bean="reportRepositoriesService#rest" />
97 <ref bean="mergeRepositoriesService#rest"/>
98 <ref bean="proxyConnectorRuleService#rest"/>
99 <ref bean="archivaRuntimeConfigurationService#rest"/>
100 <ref bean="redbackRuntimeConfigurationService#rest"/>
101 </jaxrs:serviceBeans>
107 <jaxrs:server name="v2.archiva" address="/v2/archiva" >
110 <ref bean="v2.jsonProvider" />
111 <ref bean="bearerAuthInterceptor#rest"/>
112 <ref bean="permissionInterceptor#rest"/>
113 <ref bean="requestValidationInterceptor#rest" />
114 <ref bean="v2.archivaRestServiceExceptionMapper"/>
115 <ref bean="threadLocalUserCleaner#rest" />
119 <ref bean="v2.defaultSecurityConfigurationService" />
120 <ref bean="v2.repositoryGroupService#rest" />
121 <ref bean="v2.repositoryService#rest"/>
122 </jaxrs:serviceBeans>
125 <ref bean="archivaOpenApiFeature" />
131 <bean name="browse#versionMetadata" class="org.apache.archiva.components.cache.ehcache.EhcacheCache"
132 init-method="initialize">
133 <property name="diskPersistent" value="false"/>
134 <property name="eternal" value="false"/>
135 <property name="maxElementsInMemory" value="1000"/>
136 <property name="memoryEvictionPolicy" value="LRU"/>
137 <property name="name" value="userPermissions"/>
138 <property name="timeToIdleSeconds" value="300"/>
139 <property name="timeToLiveSeconds" value="600"/>