All Downloads are FREE. Search and download functionalities are using the official Maven repository.

META-INF.spring.camel-server-aop.xml Maven / Gradle / Ivy

Go to download

An example using Spring XML to talk to the JMS server from different kind of client techniques and having AOP aspect to perform audit trails in the Camel Server

There is a newer version: 2.19.5
Show newest version
<?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.
-->

<!-- START SNIPPET: e1 -->
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:camel="http://camel.apache.org/schema/spring"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:broker="http://activemq.apache.org/schema/core"
       xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
        http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
        http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core-5.5.0.xsd">
<!-- END SNIPPET: e1 -->

    <!-- START SNIPPET: e2 -->
    <!-- let Spring do its IoC stuff in this package -->
    <context:component-scan base-package="org.apache.camel.example.server"/>
    
    <!-- lets configure the ActiveMQ JMS broker server to listen on TCP 61610 -->
    <broker:broker useJmx="false" persistent="false" brokerName="localhost">
        <broker:transportConnectors>
            <broker:transportConnector name="tcp" uri="tcp://localhost:61610"/>
        </broker:transportConnectors>
    </broker:broker>
    
    <!-- lets configure the Camel JMS consumer to use the ActiveMQ broker declared above -->
    <bean id="jms" class="org.apache.camel.component.jms.JmsComponent">
        <property name="connectionFactory">
            <bean class="org.apache.activemq.ActiveMQConnectionFactory">
                <property name="brokerURL" value="tcp://localhost:61610"/>
            </bean>
        </property>
    </bean>
    <!-- END SNIPPET: e2 -->
    
    <!-- START SNIPPET: e3 -->
    <!-- turn on AspejctJ AOP to weave all @Aspects beans declared in this spring xml file -->
    <aop:aspectj-autoproxy/>
    <!-- END SNIPPET: e3 -->

    <!-- START SNIPPET: e4 -->
    <!-- Aspect that tracks all the invocations of the business service -->
    <bean id="AuditTracker" class="org.apache.camel.example.server.AuditTracker">
        <!-- define what store to use for audit backup -->
        <property name="store" ref="AuditStore"/>
    </bean>
    <!-- END SNIPPET: e4 -->

    <!-- START SNIPPET: e5 -->
    <!-- declare a camel context that scans for classes that is RouteBuilder
         in the package org.apache.camel.example.server -->
    <camel:camelContext id="camel-server-aop">
        <camel:package>org.apache.camel.example.server</camel:package>
        <!-- enable JMX connector so we can connect to the server and browse mbeans -->
        <!-- Camel will log at INFO level the service URI to use for connecting with jconsole -->
        <camel:jmxAgent id="agent" createConnector="true"/>
        <!-- the audit store endpoint is configued as file based. 
             In Camel 2.0 the endpoint should be defined in camel context -->
        <camel:endpoint id="AuditStore" uri="file://target/store"/>
    </camel:camelContext>
    <!-- END SNIPPET: e5 -->
    

</beans>




© 2015 - 2025 Weber Informatics LLC | Privacy Policy