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"/>
33 <import resource="classpath*:META-INF/cxf/cxf-servlet.xml"/>
35 <context:annotation-config/>
36 <context:component-scan
37 base-package="org.apache.archiva.rest.services,org.apache.archiva.redback.rest.services,org.apache.archiva.rest.v2"/>
39 <!-- CXF OpenApiFeature -->
40 <bean id="archivaOpenApiFeature" class="org.apache.cxf.jaxrs.openapi.OpenApiFeature">
41 <property name="scanKnownConfigLocations" value="false"/>
42 <property name="configLocation" value="archiva/openapi-configuration.yaml"/>
43 <property name="scan" value="false"/>
44 <property name="useContextBasedConfig" value="true"/>
45 <!-- <property name="scannerClass" value="io.swagger.v3.jaxrs2.integration.JaxrsApplicationScanner"/> -->
49 <bean id="jsonProvider" class="com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider">
50 <property name="mapper" ref="redbackJacksonJsonMapper"/>
53 <bean id="v2.jsonProvider" class="com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider">
54 <property name="mapper" ref="v2.redbackJacksonJsonMapper"/>
57 <bean id="xmlProvider" class="com.fasterxml.jackson.jaxrs.xml.JacksonJaxbXMLProvider">
58 <property name="mapper" ref="redbackJacksonXMLMapper"/>
61 <bean id="redbackJacksonJsonMapper" class="com.fasterxml.jackson.databind.ObjectMapper" />
62 <bean id="v2.redbackJacksonJsonMapper" class="com.fasterxml.jackson.databind.ObjectMapper" >
64 <bean id="redbackJacksonXMLMapper" class="com.fasterxml.jackson.dataformat.xml.XmlMapper" />
67 <jaxrs:server name="archivaServices" address="/archivaServices" >
70 <ref bean="jsonProvider" />
71 <ref bean="xmlProvider" />
72 <ref bean="authenticationInterceptor#rest"/>
73 <ref bean="permissionInterceptor#rest"/>
74 <ref bean="requestValidationInterceptor#rest" />
75 <ref bean="archivaRestServiceExceptionMapper"/>
76 <ref bean="threadLocalUserCleaner#rest" />
80 <ref bean="browseService#rest"/>
81 <ref bean="pingService#rest"/>
82 <ref bean="repositoriesService#rest"/>
83 <ref bean="managedRepositoriesService#rest"/>
84 <ref bean="remoteRepositoriesService#rest"/>
85 <ref bean="repositoryGroupService#rest"/>
86 <ref bean="proxyConnectorService#rest"/>
87 <ref bean="networkProxyService#rest"/>
88 <ref bean="archivaAdministrationService#default"/>
89 <ref bean="searchService#rest"/>
90 <ref bean="commonServices#rest"/>
91 <ref bean="pluginsService#rest"/>
92 <ref bean="systemStatusService#rest"/>
93 <ref bean="reportRepositoriesService#rest" />
94 <ref bean="mergeRepositoriesService#rest"/>
95 <ref bean="proxyConnectorRuleService#rest"/>
96 <ref bean="archivaRuntimeConfigurationService#rest"/>
97 <ref bean="redbackRuntimeConfigurationService#rest"/>
104 <jaxrs:server name="v2.archiva" address="/v2/archiva" >
107 <ref bean="v2.jsonProvider" />
108 <ref bean="bearerAuthInterceptor#rest"/>
109 <ref bean="permissionInterceptor#rest"/>
110 <ref bean="requestValidationInterceptor#rest" />
111 <ref bean="v2.archivaRestServiceExceptionMapper"/>
112 <ref bean="threadLocalUserCleaner#rest" />
116 <ref bean="v2.defaultSecurityConfigurationService" />
117 <ref bean="v2.repositoryGroupService#rest" />
118 <ref bean="v2.repositoryService#rest"/>
119 <ref bean="v2.managedMavenRepositoryService#rest"/>
120 </jaxrs:serviceBeans>
123 <ref bean="archivaOpenApiFeature" />
129 <bean name="browse#versionMetadata" class="org.apache.archiva.components.cache.ehcache.EhcacheCache"
130 init-method="initialize">
131 <constructor-arg index="0" value="java.lang.String" />
132 <constructor-arg index="1" value="org.apache.archiva.metadata.model.ProjectVersionMetadata"/>
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="versionMetadata"/>
138 <property name="timeToIdleSeconds" value="300"/>
139 <property name="timeToLiveSeconds" value="600"/>