awips2/edexOsgi/com.raytheon.uf.edex.registry.ebxml/web/webServiceBeans.xml
2022-05-05 12:34:50 -05:00

239 lines
No EOL
11 KiB
XML

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xmlns:jaxrs="http://cxf.apache.org/jaxrs"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:http="http://cxf.apache.org/transports/http/configuration"
xmlns:httpj="http://cxf.apache.org/transports/http-jetty/configuration"
xmlns:sec="http://cxf.apache.org/configuration/security"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd
http://cxf.apache.org/jaxrs
http://cxf.apache.org/schemas/jaxrs.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://cxf.apache.org/transports/http/configuration
http://cxf.apache.org/schemas/configuration/http-conf.xsd
http://cxf.apache.org/transports/http-jetty/configuration
http://cxf.apache.org/schemas/configuration/http-jetty.xsd
http://cxf.apache.org/configuration/security
http://cxf.apache.org/schemas/configuration/security.xsd">
<context:property-placeholder />
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<import resource="file:///${edex.home}/conf/spring/edex-db.xml" />
<import resource="classpath:res/spring/edex-security.xml" />
<import resource="classpath:res/spring/eventbus-common.xml" />
<import resource="classpath:res/spring/request-service-common.xml" />
<import resource="classpath:res/spring/ebxml.xml" />
<import resource="classpath:res/spring/ebxml-validator-plugins.xml" />
<import resource="classpath:res/spring/ebxml-querytypes.xml" />
<import resource="classpath:res/spring/ebxml-registry-dao.xml" />
<import resource="classpath:res/spring/ebxml-subscription.xml" />
<import resource="classpath:res/spring/ebxml-constants.xml" />
<import resource="classpath:res/spring/ebxml-thrift-client.xml" />
<import resource="classpath:res/spring/ebxml-xacml.xml" />
<import resource="classpath:res/spring/ebxml-impl.xml" />
<import resource="classpath*:res/spring/ebxml-customQueryPlugin.xml" />
<import resource="classpath:res/spring/ebxml-webservices.xml" />
<import resource="classpath*:res/spring/webservices.xml" />
<bean id="errorHandlerRedeliveryPolicy" class="org.apache.camel.processor.errorhandler.RedeliveryPolicy">
<!-- This policy matches that of the old LoggingErrorHandlerBuilder
class we used to use. (That class is gone now that we have moved
to Camel 3.) -->
<property name="logRetryAttempted" value="false" />
</bean>
<bean id="errorHandler" class="org.apache.camel.builder.DeadLetterChannelBuilder">
<property name="deadLetterUri" value="log:edex?level=ERROR" />
<property name="redeliveryPolicy" ref="errorHandlerRedeliveryPolicy" />
</bean>
<bean id="serializationUtil" class="com.raytheon.uf.common.serialization.SerializationUtil" />
<bean id="genericThreadPool"
class="com.raytheon.uf.edex.esb.camel.spring.JmsThreadPoolTaskExecutor">
<property name="corePoolSize" value="0" />
<property name="maxPoolSize" value="1" />
<property name="queueCapacity" value="0" />
</bean>
<bean id="jms-generic"
class="com.raytheon.uf.edex.esb.camel.jms.DedicatedThreadJmsComponent">
<constructor-arg ref="jmsGenericConfig" />
<property name="taskExecutor" ref="genericThreadPool" />
</bean>
<bean id="jmsGenericConfig" class="org.apache.camel.component.jms.JmsConfiguration"
factory-bean="jmsConfig" factory-method="copy" />
<bean id="jmsConfig" class="org.apache.camel.component.jms.JmsConfiguration">
<property name="cacheLevelName" value="CACHE_CONSUMER" />
<property name="recoveryInterval" value="10000" />
<property name="requestTimeout" value="5000" />
<!-- If this is false, while stopping we will reject messages that have
already been pulled from qpid, essentially losing the message -->
<property name="acceptMessagesWhileStopping" value="true" />
<!-- receiveTimeout is amount of time thread waits to receive a message
before recycling -->
<!-- receiveTimeout also affects how fast a JMSConsumer will shut down,
because the thread may be stuck polling for the duration of receiveTimeout
before shutting down -->
<property name="receiveTimeout" value="5000" />
<property name="transacted" value="false" />
<!-- force maxMessagesPerTask so that the threads don't keep disconnecting
and reconnecting. This will keep a data-type attached to the initial thread
it starts on -->
<property name="maxMessagesPerTask" value="-1" />
<property name="listenerConnectionFactory" ref="jmsConnectionFactory" />
<property name="templateConnectionFactory" ref="jmsConnectionFactory" />
<property name="disableReplyTo" value="true" />
<property name="deliveryPersistent" value="false" />
<!-- <property name="transacted" value="true" /> <property name="acknowledgementModeName"
value="TRANSACTED"/> <property name="transactionManager" ref="jmsReceiveTransactionManager"
/> -->
</bean>
<bean id="jmsClientId" class="com.raytheon.uf.common.util.SystemUtil" factory-method="getClientID">
<constructor-arg value="RegistryWebServices" />
</bean>
<bean id="jmsConnectionInfo"
class="com.raytheon.uf.common.jms.JMSConnectionInfo">
<constructor-arg value="${BROKER_HOST}"/>
<constructor-arg value="${BROKER_PORT}"/>
<constructor-arg value="${JMS_VIRTUALHOST}"/>
<constructor-arg value="${BROKER_HTTP}"/>
<constructor-arg>
<map>
<entry key="jms.prefetchPolicy.all" value="0"/>
<entry key="jms.connectTimeout" value="5000"/>
<entry key="jms.forceSyncSend" value="true"/>
<entry key="provider.futureType" value="balanced" />
<entry key="jms.clientID" value-ref="jmsClientId"/>
</map>
</constructor-arg>
</bean>
<bean id="qpidUfConnectionFactory" class="com.raytheon.uf.common.jms.qpid.QpidUFConnectionFactory">
<constructor-arg ref="jmsConnectionInfo"/>
</bean>
<bean id="jmsConnectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory">
<constructor-arg ref="qpidUfConnectionFactory"/>
<!-- The value of 50 is arbitrary. Can be tweaked later based on
observed frequency of session creation -->
<property name="sessionCacheSize" value="50"/>
</bean>
<bean id="QueryServiceWrapper"
class="com.raytheon.uf.edex.registry.ebxml.services.query.QueryManagerImplWrapper">
<constructor-arg ref="queryServiceImpl" />
</bean>
<bean id="NotificationListenerServiceWrapper"
class="com.raytheon.uf.edex.registry.ebxml.services.notification.NotificationListenerImplWrapper">
<constructor-arg ref="notificationServiceImpl" />
</bean>
<bean id="LifecycleManagerServiceWrapper"
class="com.raytheon.uf.edex.registry.ebxml.services.lifecycle.LifecycleManagerImplWrapper">
<constructor-arg ref="lcmServiceImpl" />
</bean>
<bean id="ValidatorServiceWrapper"
class="com.raytheon.uf.edex.registry.ebxml.services.validator.ValidatorImplWrapper">
<constructor-arg ref="validatorServiceImpl" />
</bean>
<bean id="CatalogerServiceWrapper"
class="com.raytheon.uf.edex.registry.ebxml.services.cataloger.CatalogerImplWrapper">
<constructor-arg ref="catalogerServiceImpl" />
</bean>
<!-- SOAP Service definitions -->
<jaxws:server id="QueryService" address="/queryManager">
<jaxws:serviceBean>
<ref bean="QueryServiceWrapper" />
</jaxws:serviceBean>
<jaxws:inInterceptors>
<ref bean="authenticationInterceptor" />
<ref bean="xacmlInterceptor" />
</jaxws:inInterceptors>
<jaxws:outInterceptors>
<ref bean="securityOutInterceptor" />
</jaxws:outInterceptors>
</jaxws:server>
<jaxws:server id="NotificationListenerService" address="/notificationListener">
<jaxws:serviceBean>
<ref bean="NotificationListenerServiceWrapper" />
</jaxws:serviceBean>
<jaxws:inInterceptors>
<ref bean="authenticationInterceptor" />
<ref bean="xacmlInterceptor" />
</jaxws:inInterceptors>
<jaxws:outInterceptors>
<ref bean="securityOutInterceptor" />
</jaxws:outInterceptors>
</jaxws:server>
<jaxws:server id="LifecycleManagerService" address="/lifecycleManager">
<jaxws:serviceBean>
<ref bean="LifecycleManagerServiceWrapper" />
</jaxws:serviceBean>
<jaxws:inInterceptors>
<ref bean="authenticationInterceptor" />
<ref bean="xacmlInterceptor" />
</jaxws:inInterceptors>
<jaxws:outInterceptors>
<ref bean="securityOutInterceptor" />
</jaxws:outInterceptors>
</jaxws:server>
<jaxws:server id="ValidatorService" address="/validator">
<jaxws:serviceBean>
<ref bean="ValidatorServiceWrapper" />
</jaxws:serviceBean>
<jaxws:inInterceptors>
<ref bean="authenticationInterceptor" />
<ref bean="xacmlInterceptor" />
</jaxws:inInterceptors>
<jaxws:outInterceptors>
<ref bean="securityOutInterceptor" />
</jaxws:outInterceptors>
</jaxws:server>
<jaxws:server id="CatalogerService" address="/cataloger">
<jaxws:serviceBean>
<ref bean="CatalogerServiceWrapper" />
</jaxws:serviceBean>
<jaxws:inInterceptors>
<ref bean="authenticationInterceptor" />
<ref bean="xacmlInterceptor" />
</jaxws:inInterceptors>
<jaxws:outInterceptors>
<ref bean="securityOutInterceptor" />
</jaxws:outInterceptors>
</jaxws:server>
<!-- End Soap Service Definitions -->
<!-- REST Service Definitions -->
<jaxrs:server id="registryRestServices" address="/rest">
<jaxrs:inInterceptors>
<ref bean="authenticationInterceptor" />
<ref bean="xacmlInterceptor" />
</jaxrs:inInterceptors>
<jaxrs:serviceBeans>
<ref bean="registryObjectsRestService" />
<ref bean="repositoryObjectsRestService" />
<ref bean="queryProtocolRestService" />
<ref bean="registryUsers" />
<ref bean="registryDataAccessService" />
<ref bean="registryAvailabilityService" />
<ref bean="RegistryFederationManager" />
<ref bean="defineRegistryQuery" />
</jaxrs:serviceBeans>
</jaxrs:server>
<!-- End REST Endpoint definitions -->
</beans>