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