THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
 
  Apache ServiceMix NMR #usernavbar() #printableicon() #pdficon() #feedicon()  
When you contribute content to this Wiki, you grant a license to the ASF for inclusion in ASF works (as per the Apache Software License).
  11. Audit

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
langxml
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:osgi="http://www.springframework.org/schema/osgi"
       xsi:schemaLocation="
  http://www.springframework.org/schema/beans
  http://www.springframework.org/schema/beans/spring-beans.xsd
  http://www.springframework.org/schema/osgi
  http://www.springframework.org/schema/osgi/spring-osgi.xsd">

    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" />
    
    <bean id="jdbc-auditor" class="org.apache.servicemix.nmr.audit.jdbc.JdbcAuditor">
        <property name="dataSource" ref="dataSource" />
    </bean>
    
    <bean id="dataSource" class="org.hsqldb.jdbc.jdbcDataSource">
        <property name="database" value="jdbc:hsqldb:file:${servicemix.base}/data/audit/jdbc/hsqldb" />
        <property name="user" value="sa" />
    </bean>
    
    <osgi:service ref="jdbc-auditor">
        <osgi:interfaces>
            <value>org.apache.servicemix.nmr.api.event.Listener</value>
            <value>org.apache.servicemix.nmr.api.event.ExchangeListener</value>
        </osgi:interfaces>
    </osgi:service>

    <osgi:service ref="file-auditor">
        <osgi:interfaces>
            <value>org.apache.servicemix.nmr.audit.AuditorMBean</value>
        </osgi:interfaces>
    </osgi:service>

</beans>

Lucene indexation

Any auditor can be wrapped in a lucene auditor to provide indexation and search in audited exchanges.

Note that prior to installing the nmr-audit feature, you need to install lucene bundle:

Code Block

smx@root:/> osgi/install -s wrap:mvn:org.apache.lucene/lucene-core/2.4.1

If the feature has already been installed, you need to use the osgi/refresh command.

Code Block

smx@root:/> osgi/refresh

See the configuration below:

Code Block
langxml

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:osgi="http://www.springframework.org/schema/osgi"
       xsi:schemaLocation="
  http://www.springframework.org/schema/beans
  http://www.springframework.org/schema/beans/spring-beans.xsd
  http://www.springframework.org/schema/osgi
  http://www.springframework.org/schema/osgi/spring-osgi.xsd">

    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" />
    
    <bean id="jdbc-auditor" class="org.apache.servicemix.nmr.audit.jdbc.JdbcAuditor">
        <property name="dataSource" ref="dataSource" />
    </bean>
    
    <bean id="lucene-auditor" class="org.apache.servicemix.nmr.audit.lucene.LuceneAuditor">
        <property name="delegatedAuditor" ref="jdbc-auditor" />
        <property name="luceneIndexer">
            <bean class="org.apache.servicemix.nmr.audit.lucene.LuceneIndexer">
                <property name="directoryName" value="${servicemix.base}/data/audit/lucene/" />
            </bean>
        </property>
    </bean>
    
    <bean id="dataSource" class="org.hsqldb.jdbc.jdbcDataSource">
        <property name="database" value="jdbc:hsqldb:file:${servicemix.base}/data/audit/jdbc/hsqldb" />
        <property name="user" value="sa" />
    </bean>
    
    <osgi:service ref="lucene-auditor">
        <osgi:interfaces>
            <value>org.apache.servicemix.nmr.api.event.Listener</value>
            <value>org.apache.servicemix.nmr.api.event.ExchangeListener</value>
        </osgi:interfaces>
    </osgi:service>
    
    <osgi:service ref="lucene-auditor">
        <osgi:interfaces>
            <value>org.apache.servicemix.nmr.audit.AuditorMBean</value>
        </osgi:interfaces>
    </osgi:service>

</beans>

Commands

A few commands are available to access the audited exchnanges:

Code Block
audit/count
audit/ids
audit/exchanges
audit/delete
audit/find

The last command audit/find only works if lucene has been set up as shown above.

#top