Hi,

I raised issue SM-2062

Thx for your help,

Mike


2011/3/23 Gert Vanthienen <[email protected]>

> Mike,
>
> There's a good chance that nobody has tried the
> ServiceMix/Camel/iBatis comibination before.   However, it sounds like
> a reasonable use case, so would you be willing to raise a JIRA issue
> and provide a patch with the stuff you have so far (perhaps remove the
> bits that are proprietary to your company or project) so we can turn
> it into a working example ?
>
> Regards,
>
> Gert Vanthienen
> ------------------------
> FuseSource
> Web: http://fusesource.com
> Blog: http://gertvanthienen.blogspot.com/
>
>
>
> On Wed, Mar 23, 2011 at 3:19 PM, Michael Dewitte
> <[email protected]> wrote:
> > Can it have something to do with osgi settings via my POM ?
> >
> > Has someone ever used ibatis in camel via osgi ?
> >
> > Mike
> >
> >
> >
> > 2011/3/23 Michael Dewitte <[email protected]>
> >
> >> Thanks Charles... I tried, but doesn't change anything...
> >>
> >> And even searching hard, i can't find any sample on the net with iBatis
> AND
> >> osgi.... :-(
> >>
> >> Mike
> >>
> >>
> >> 2011/3/23 Charles Moulliard <[email protected]>
> >>
> >>> This is where it should be located.
> >>>
> >>> Can you place the file in the following directory and retry :
> >>> META-INF/spring/SqlMapConfig.xml ?
> >>>
> >>> On Wed, Mar 23, 2011 at 1:19 PM, Michael Dewitte
> >>> <[email protected]> wrote:
> >>> > oh, god... i saw using features:list that it was there, but hadn't
> >>> noticed
> >>> > it was "uninstalled"... pfff... Thanks for making me checking again !
> >>> > Now, it does deploy !
> >>> > But, as soon as the route is activated (dropping a file into the
> "input"
> >>> > directory), I got an exception :
> >>> > java.io.FileNotFoundException: class path resource [SqlMapConfig.xml]
> >>> cannot
> >>> > be opened because it does not exist
> >>> > at
> >>> >
> >>>
> org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:158)[56:org.springframework.core:3.0.5.RELEASE]
> >>> > at
> >>> >
> >>>
> org.apache.camel.component.ibatis.IBatisComponent.createSqlMapClient(IBatisComponent.java:88)[225:org.apache.camel.camel-ibatis:2.6.0]
> >>> > at
> >>> >
> >>>
> org.apache.camel.component.ibatis.IBatisComponent.getSqlMapClient(IBatisComponent.java:104)[225:org.apache.camel.camel-ibatis:2.6.0]
> >>> > at
> >>> >
> >>>
> org.apache.camel.component.ibatis.IBatisEndpoint.getSqlMapClient(IBatisEndpoint.java:77)[225:org.apache.camel.camel-ibatis:2.6.0]
> >>> > As i noted in the previous post, the SqlMapConfig.xml is in the jar,
> at
> >>> the
> >>> > root of the jar... isn't it where it should be located ?
> >>> > Thanks for your help !
> >>> > Mike
> >>> > 2011/3/23 Charles Moulliard <[email protected]>
> >>> >>
> >>> >> Have you deployed the bundle camel-ibatis component on Smx4.x or
> Karaf
> >>> ?
> >>> >>
> >>> >> On Wed, Mar 23, 2011 at 12:13 PM, Michael Dewitte
> >>> >> <[email protected]> wrote:
> >>> >> > Thx,
> >>> >> >
> >>> >> > thanks to your indications and the sample here :
> >>> >> > I tried to go further.
> >>> >> >
> >>> >> > I made a bundle, using blueprint, in which I placed my blueprint
> and
> >>> the
> >>> >> > config files for ibatis. When I try to deploy it, I get an
> exception
> >>> :
> >>> >> > Caused by: org.apache.camel.FailedToCreateRouteException: Failed
> to
> >>> >> > create
> >>> >> > route route6 at: >>> To[ibatis:deleteUser?statementType=Delete]
> <<<
> >>> in
> >>> >> > route: Route[[From[file:activemq/input]] ->
> >>> [To[file:activemq/outpu...
> >>> >> > because of Failed to resolve endpoint:
> >>> >> > ibatis://deleteUser?statementType=Delete due to:
> >>> >> > org.osgi.service.blueprint.container.NoSuchComponentException: No
> >>> >> > component
> >>> >> > with id 'ibatis://deleteUser?statementType=Delete' could be found
> >>> >> >
> >>> >> > The structure of the jar is as follow :
> >>> >> > |-SqlMapConfig.xml
> >>> >> > |-Users.xml (the maps definitions)
> >>> >> > |-OSGI-INF
> >>> >> >   |-blueprint
> >>> >> >        |-blueprint.xml
> >>> >> > |-META-INF
> >>> >> >   |MANIFEST.MF
> >>> >> >
> >>> >> >
> >>> >> > Here is my SqlMapConfig.xml :
> >>> >> > -----------------------------------------------
> >>> >> > <sqlMapConfig>
> >>> >> > <transactionManager type="JDBC" commitRequired="false">
> >>> >> > <dataSource type="SIMPLE">
> >>> >> > <property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/>
> >>> >> > <property name="JDBC.ConnectionURL"
> >>> >> > value="jdbc:mysql://localhost:3306/forem_1"/>
> >>> >> > <property name="JDBC.Username" value="root"/>
> >>> >> > <property name="JDBC.Password" value="mysql"/>
> >>> >> > </dataSource>
> >>> >> > </transactionManager>
> >>> >> >
> >>> >> > <sqlMap resource="User.xml"/>
> >>> >> > </sqlMapConfig>
> >>> >> >
> >>> >> > Here is my Users.xml :
> >>> >> > ----------------------------------------------
> >>> >> > <sqlMap>
> >>> >> > <delete id="deleteUser">
> >>> >> >    delete from transfert_outbound where correlationId = 2
> >>> >> >  </delete>
> >>> >> > </sqlMap>
> >>> >> >
> >>> >> > Here is my blueprint.xml :
> >>> >> > ----------------------------------------------
> >>> >> > <blueprint
> >>> >> >    xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0";
> >>> >> >    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> >>> >> >    xsi:schemaLocation="
> >>> >> >      http://www.osgi.org/xmlns/blueprint/v1.0.0
> >>> >> >      http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd";>
> >>> >> >
> >>> >> >    <camelContext xmlns="http://camel.apache.org/schema/blueprint
> ">
> >>> >> >      <route>
> >>> >> >        <from uri="file:activemq/input"/>
> >>> >> >        <to uri="file:activemq/output"/>
> >>> >> >
> >>> >> >        <setBody>
> >>> >> >          <simple>
> >>> >> >            NEW FileMovedEvent(file: ${file:name}, timestamp:
> >>> >> > ${date:now:hh:MM:ss.SSS})
> >>> >> >          </simple>
> >>> >> >        </setBody>
> >>> >> >        <to uri="log:events"/>
> >>> >> >     <to uri="ibatis:deleteUser?statementType=Delete"/>
> >>> >> >      </route>
> >>> >> >    </camelContext>
> >>> >> > </blueprint>
> >>> >> >
> >>> >> >
> >>> >> > and here is my pom.xml
> >>> >> > ------------------------------------
> >>> >> > <?xml version="1.0" encoding="UTF-8"?>
> >>> >> > <project xmlns="http://maven.apache.org/POM/4.0.0"; xmlns:xsi="
> >>> >> > http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="
> >>> >> > http://maven.apache.org/POM/4.0.0
> >>> >> > http://maven.apache.org/maven-v4_0_0.xsd";>
> >>> >> >
> >>> >> >    <modelVersion>4.0.0</modelVersion>
> >>> >> >
> >>> >> >    <parent>
> >>> >> >        <groupId>org.apache.servicemix.features</groupId>
> >>> >> >        <artifactId>features</artifactId>
> >>> >> >        <version>4.3.0</version>
> >>> >> >    </parent>
> >>> >> >
> >>> >> >    <groupId>testing.servicemix.example</groupId>
> >>> >> >    <artifactId>ibatistest</artifactId>
> >>> >> >    <packaging>bundle</packaging>
> >>> >> >    <version>1.0-SNAPSHOT</version>
> >>> >> >    <name>iBatis test</name>
> >>> >> >
> >>> >> > <properties>
> >>> >> >    <!-- Camel -->
> >>> >> >        <camel-version>2.6.0</camel-version>
> >>> >> > </properties>
> >>> >> >
> >>> >> >  <dependencies>
> >>> >> >    <dependency>
> >>> >> >      <groupId>org.apache.camel</groupId>
> >>> >> >      <artifactId>camel-core</artifactId>
> >>> >> >      <version>${camel-version}</version>
> >>> >> >    </dependency>
> >>> >> >    <dependency>
> >>> >> >      <groupId>org.apache.camel</groupId>
> >>> >> >      <artifactId>camel-spring</artifactId>
> >>> >> >      <version>${camel-version}</version>
> >>> >> >    </dependency>
> >>> >> >    <dependency>
> >>> >> >      <groupId>org.apache.camel</groupId>
> >>> >> >      <artifactId>camel-ibatis</artifactId>
> >>> >> >      <version>${camel-version}</version>
> >>> >> >    </dependency>
> >>> >> >  </dependencies>
> >>> >> >
> >>> >> >    <build>
> >>> >> >        <plugins>
> >>> >> >            <plugin>
> >>> >> >                <groupId>org.apache.felix</groupId>
> >>> >> >                <artifactId>maven-bundle-plugin</artifactId>
> >>> >> >                <configuration>
> >>> >> >                    <instructions>
> >>> >> >
> >>> >> >  <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
> >>> >> >
> >>> >> >  <Import-Package>*,org.apache.camel.osgi</Import-Package>
> >>> >> >
> >>> >> >
> >>>
>  <Private-Package>org.apache.servicemix.examples.camel</Private-Package>
> >>> >> >                    </instructions>
> >>> >> >                </configuration>
> >>> >> >            </plugin>
> >>> >> >        </plugins>
> >>> >> >
> >>> >> >    </build>
> >>> >> >
> >>> >> > </project>
> >>> >> >
> >>> >> > Any clue ???
> >>> >> >
> >>> >> > Thx in advance,
> >>> >> >
> >>> >> > Mike
> >>> >> >
> >>> >> >
> >>> >> > 2011/3/22 Charles Moulliard <[email protected]>
> >>> >> >
> >>> >> >> Hi Michael,
> >>> >> >>
> >>> >> >> Yeap, you must create a bundle containing your camel route,
> myibatis
> >>> >> >> config files and place them in a folder which is in the classpath
> of
> >>> >> >> the bundle.
> >>> >> >>
> >>> >> >> Regards,
> >>> >> >>
> >>> >> >> Charles
> >>> >> >>
> >>> >> >>
> >>> >> >>
> >>> >> >> On Tue, Mar 22, 2011 at 3:25 PM, Michael Dewitte
> >>> >> >> <[email protected]> wrote:
> >>> >> >> > Thanks Charles,
> >>> >> >> >
> >>> >> >> > but as it's deployed into karaf, does it means I have to create
> an
> >>> >> >> > osgi
> >>> >> >> > bundle, with the sqlmap in it (and the xml def of my
> CamelContext
> >>> too
> >>> >> >> > ?)
> >>> >> >> ?
> >>> >> >> > This particular part is not clear to me, and if i find info on
> the
> >>> >> >> > ibatis
> >>> >> >> /
> >>> >> >> > mybatis part, i can't find this precise detail on how to
> package /
> >>> >> >> > deploy
> >>> >> >> it
> >>> >> >> > to servicemix... Until now, I only had to deploy the
> CamelContext
> >>> >> >> > using
> >>> >> >> > blueprint directly via the deploy folder...
> >>> >> >> >
> >>> >> >> > Thanks for your help,
> >>> >> >> >
> >>> >> >> > Mike
> >>> >> >> >
> >>> >> >> >
> >>> >> >> > 2011/3/22 Charles Moulliard <[email protected]>
> >>> >> >> >
> >>> >> >> >> Hi Mike,
> >>> >> >> >>
> >>> >> >> >> According to the doc,
> >>> >> >> >>
> >>> >> >> >> This component will by default load the MyBatis SqlMapConfig
> file
> >>> >> >> >> from
> >>> >> >> >> the root of the classpath and expected named as
> SqlMapConfig.xml.
> >>> >> >> >> If the file is located in another location, you would have to
> >>> >> >> >> configure the configurationUri option on the MyBatisComponent
> >>> >> >> >> component.
> >>> >> >> >>
> >>> >> >> >> Regards,
> >>> >> >> >>
> >>> >> >> >> Charles Moulliard
> >>> >> >> >>
> >>> >> >> >> Sr. Principal Solution Architect - FuseSource
> >>> >> >> >> Apache Committer
> >>> >> >> >>
> >>> >> >> >> Blog : http://cmoulliard.blogspot.com
> >>> >> >> >> Twitter : http://twitter.com/cmoulliard
> >>> >> >> >> Linkedin : http://www.linkedin.com/in/charlesmoulliard
> >>> >> >> >> Skype: cmoulliard
> >>> >> >> >>
> >>> >> >> >>
> >>> >> >> >>
> >>> >> >> >> On Tue, Mar 22, 2011 at 2:25 PM, Michael Dewitte
> >>> >> >> >> <[email protected]> wrote:
> >>> >> >> >> > Hi,
> >>> >> >> >> >
> >>> >> >> >> > one question that seems to be borderline betwwen Camel and
> SMX
> >>> :
> >>> >> >> >> > I want to raise some events (posting messages on a queue)
> based
> >>> on
> >>> >> >> events
> >>> >> >> >> > occured on  table in a database. So, in fact, I want to
> react
> >>> upon
> >>> >> >> insert
> >>> >> >> >> in
> >>> >> >> >> > a table. To do so, I thought about a route, using a timer
> then
> >>> a
> >>> >> >> MyBatis
> >>> >> >> >> > then posting to a queue.
> >>> >> >> >> >
> >>> >> >> >> > the route could look like this :
> >>> >> >> >> >    <camelContext xmlns="
> >>> http://camel.apache.org/schema/blueprint";>
> >>> >> >> >> >      <route>
> >>> >> >> >> >        <from uri="timer://pollTheDatabase?delay=30000"/>
> >>> >> >> >> >        <to
> >>> >> >> >> >
> >>> >> >> >> >
> >>> uri="mbatis:selectAllNewlyInsertedPeople?statementType=QueryForList"/>
> >>> >> >> >> >        <to uri="activemq://events" />
> >>> >> >> >> >      </route>
> >>> >> >> >> >    </camelContext>
> >>> >> >> >> >
> >>> >> >> >> > I haven't found config sample using SpringConfig nor
> >>> >> >> >> > blueprints.... My
> >>> >> >> >> > question is : where do I define the SQLmap... normally it
> >>> should
> >>> >> >> >> > be
> >>> >> >> >> defined
> >>> >> >> >> > in another xml file, if I was building the route in java...
> but
> >>> >> >> >> > how do
> >>> >> >> if
> >>> >> >> >> I
> >>> >> >> >> > want to use a route configured with blueprint ?
> >>> >> >> >> >
> >>> >> >> >> > Or maybe am I wrong and should I use a totally different way
> ?
> >>> >> >> >> >
> >>> >> >> >> > Thanks for any help,
> >>> >> >> >> >
> >>> >> >> >> > Mike
> >>> >> >> >> >
> >>> >> >> >>
> >>> >> >> >
> >>> >> >>
> >>> >> >
> >>> >
> >>> >
> >>>
> >>
> >>
> >
>

Reply via email to