OSGI maven

http://fusesource.com/docs/esb/4.4.1/cxf_endpoints/ESBMavenOSGiPrjSetup.html

Example B.1 shows the POM entries required to add the bundle plug-in to your project.

Example B.1. Adding an OSGi bundle plug-in to a POM

...
<dependencies>
  <dependency> 1
    <groupId>org.apache.felix</groupId>
    <artifactId>org.osgi.core</artifactId>
    <version>1.0.0</version>
  </dependency>
...
</dependencies>
...
<build>
  <plugins>
    <plugin> 2
      <groupId>org.apache.felix</groupId>
      <artifactId>maven-bundle-plugin</artifactId>
      <configuration>
        <instructions>
          <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName> 3
          <Import-Package>*,org.apache.camel.osgi</Import-Package> 4
          <Private-Package>org.apache.servicemix.examples.camel</Private-Package> 5
        </instructions>
      </configuration> 
    </plugin>
  </plugins>
</build>


http://repo1.maven.org/maven2/org/apache/karaf/assemblies/features/standard/2.2.0/standard-2.2.0-features.xml


http://www.verydemo.com/demo_c143_i3241.html

https://github.com/apache/servicemix4-features

https://github.com/fbalicchia/servicemix-crud

https://github.com/alexnorth/servicemix-example

https://github.com/FuseByExample/horo-app

https://github.com/cmoulliard/camel-osgi-servicemix-tutorial

INTRODUCTION
============
This example shows different architectures that we can design on ServiceMix 4 platform :
- Messaging using Apache Camel framework
- OSGI Registry with Java Application (Service and DAO layers) to persist information into a DB
- Web using Apache Wicket framework and Spring Dynamic Module to retrieve service fron OSGI registry

More info about this project can be find here http://camel.apache.org/tutorial-osgi-camel-part2.html

Remark : This example does not longer use Hibernate but OpenJPA

COMPILING
=========
    mvn clean install

H2 DATABASE
===========

    STEP 1 : Open a DOS/UNIX console in the folder persistence/database

    STEP 2 : Download H2 Database (http://www.h2database.com/html/download.html) and install it

    STEP 3 : Start H2 Server using the bat or shell script

    ./h2.sh &

    The H2 server is started and to manage the databases from your web browser, simply click on the following url http://192.168.1.2:8082/

    STEP 4 : Next create the report database

    In the login.jsp screen, select Generic (H2) - Server
    Add as settings name : Generic H2 (Server) - Webinar
    and modify the JDBC ur las such : jdbc:h2:tcp://localhost/~/reportdb

    Next click on "connect" and the screen to manage the reportdb appears

    STEP 5 : Create Schema and Tables using the script located in the file db/src/main/config/h2-script.sql

    Execute the scripts 1), 2) and 3) defined in this file

    Check that the records are well created using the command : SELECT * FROM REPORT.T_INCIDENT;

DEPLOYING
=========

    STEP 1 : Download Fuse ESB Server from this repository : http://repo.fusesource.com/nexus/content/repositories/releases/org/apache/servicemix/apache-servicemix/4.4.1-fuse-01-06/
    STEP 2 : Unzip the zip or tar.gz archive
    STEP 3 : Open in a DOS windows or Unix terminal the directory bin
    STEP 4 : Edit the file /etc/org.apache.karaf.features.cfg and add the following features to boot

    featuresBoot=karaf-framework,config,war,activemq-broker,activemq-spring,camel,camel-cxf,camel-activemq,camel-jaxb,camel-bindy,jpa

    STEP 5 : Start ServiceMix servicemix.bat or ./servicemix
    STEP 6 : In the servicemix console, launch the commands to install features of reportincident demo

    features:addUrl mvn:org.fusesource.devoxx.reportincident/features/1.0-SNAPSHOT/xml/features
    features:install reportincident-jpa

    STEP 7 : Check if the project works fine and connect to the following url in your browser

    http://localhost:8282/cxf/camel-example/incident?wsdl

    STEP 8 : Verify of the web site is operational

    http://localhost:8181/reportincidentweb/

    STEP 9 : Copy incident file
    cp ~/wks-projects/tutorial-osgi-camel-part2/routing/src/data/csv-one-record.txt /Fuse/servers/apache-servicemix-4.4.1-fuse-01-06-devoxx/data/reportincident/

    STEP 10 : Use SOAPUi client and send this envelope to the server

    SOAP Enveloppe
    **************
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rep="http://reportincident.devoxx.fusesource.org">
       <soapenv:Header/>
       <soapenv:Body>
          <rep:inputReportIncident>
             <incidentId>999</incidentId>
             <incidentDate>10-05-2011</incidentDate>
             <givenName>Charles</givenName>
             <familyName>Moulliard</familyName>
             <summary>Issue at the DevoXX</summary>
             <details>Room is burning !</details>
             <email>cmoulliard@fusesource.com</email>
             <phone>+32473604014</phone>
          </rep:inputReportIncident>
       </soapenv:Body>
    </soapenv:Envelope>


!!! Enjoy this DevoXX demo !!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值