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 > >> >> >> > > >> >> >> > >> >> > > >> >> > >> > > > > > >
