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