camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vadim Chekan" <kot.bege...@gmail.com>
Subject Re: MS SQL Message Service endpoint
Date Fri, 04 Jul 2008 00:04:45 GMT
Thanks Claus,
I'm slowly digging through it.
Following things are still not clear to me:
What are the conventions on classes in the package? Should class
implement main() method to be called? Or any class inherited from
RouteBuilder will be instaniated? I'm trying to understand how camel
decides from "package" which class and method to call.

Vadim.

On Wed, Jul 2, 2008 at 10:33 PM, Claus Ibsen <ci@silverbullet.dk> wrote:
> Hi
>
> Created ticket CAMEL-658 for improving the wiki documentation.
>
> Thanks for reporting your troubles with it, we want to improve it.
>
>
> Med venlig hilsen
>
> Claus Ibsen
> ......................................
> Silverbullet
> Skovsgårdsvænget 21
> 8362 Hørning
> Tlf. +45 2962 7576
> Web: www.silverbullet.dk
>
> -----Original Message-----
> From: Claus Ibsen [mailto:ci@silverbullet.dk]
> Sent: 3. juli 2008 07:29
> To: camel-user@activemq.apache.org
> Subject: RE: MS SQL Message Service endpoint
>
> Hi Vlad
>
> Thanks for the investigations. Yes there could be an odd issue with the JDBC component,
as I would assume it could consume from the database = reading.
>
> As a work around or how to get it working, you can get an endpoint in front to kick it
off.
>
> from("timer://kickoff?delay=10000").setBody("select * from xxxx").to("jdbc:msServiceBroker").to("activemq:aspcust1");
>
>
> This is from a unit test in camel-jdbc. The timer fires every 10th second and queries
the database and send the result to the mock. In your case the activemq instead.
>
>                from("timer://kickoff?period=10000").
>                    setBody(constant("select * from customer")).
>                    to("jdbc:testdb").
>                    to("mock:result");
>
> Notice that the result is a list of map objects, each row is a map with the columnname
as the key. From another unit test:
>
>        // assertions of the response
>        assertNotNull(out);
>        assertNotNull(out.getOut());
>        ArrayList<HashMap<String, Object>> data = out.getOut().getBody(ArrayList.class);
>        assertNotNull("out body could not be converted to an ArrayList - was: "
>            + out.getOut().getBody(), data);
>        assertEquals(2, data.size());
>        HashMap<String, Object> row = data.get(0);
>        assertEquals("cust1", row.get("ID"));
>        assertEquals("jstrachan", row.get("NAME"));
>        row = data.get(1);
>        assertEquals("cust2", row.get("ID"));
>        assertEquals("nsandhu", row.get("NAME"));
>
> Med venlig hilsen
>
> Claus Ibsen
> ......................................
> Silverbullet
> Skovsgårdsvænget 21
> 8362 Hørning
> Tlf. +45 2962 7576
> Web: www.silverbullet.dk
>
> -----Original Message-----
> From: Vadim Chekan [mailto:kot.begemot@gmail.com]
> Sent: 3. juli 2008 01:33
> To: camel-user@activemq.apache.org
> Subject: Re: MS SQL Message Service endpoint
>
> Ok, I got this one. My ActiveMQ installation does not contain camel-jdbc.jar.
> It runs fine now but it gives me "Failed to execute main task. Reason:
> java.lang.NoClassDefFoundError:
> org/springframework/aop/support/AopUtils".
> Copied spring-aop-2.5.1.jar
>
> Ok, now:
> Caused by: org.apache.camel.RuntimeCamelException: A JDBC Consumer would be the
> server side of database! No such support here at
> org.apache.camel.component.jdbc.JdbcEndpoint.createConsumer(JdbcEndpoint.java:56)
>
> Hmm, I remember seeing this exception in the source code but I do not
> understand it. why <from uri="jdbc:msServiceBroker" /> tries to create
> a consumer. I thought that "from" is a message producer, right?
>
>
> On Wed, Jul 2, 2008 at 12:33 PM, Vadim Chekan <kot.begemot@gmail.com> wrote:
>> Here is my progress:
>> First of all it complained about DriverManagerDataSource class so I've
>> downloaded spring-jdbc-2.5.1.jar and put it to lib/optional
>> Now I'm getting
>> =======================================
>> Caused by: org.apache.camel.NoSuchEndpointException: No endpoint could be found
>> for: jdbc:msServiceBroker
>>        at org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelCo
>> =======================================
>>
>> My configuration is:
>> ===============================================================
>>   <camelContext id="camel"
>> xmlns="http://activemq.apache.org/camel/schema/spring">
>>           <route>
>>                   <from uri="jdbc:msServiceBroker" />
>>                   <to uri="activemq:aspcust1" />
>>           </route>
>>   </camelContext>
>>
>>        <bean id="msServiceBroker"
>> class="org.springframework.jdbc.datasource.DriverManagerDataSource">
>>                <property name="driverClassName" value="net.sourceforge.jtds.jdbc.Driver"/>
>>                <property name="url"
>> value="jdbc:jtds:sqlserver://aspcust1/LogQueue;instance=main"/>
>>                <property name="username" value="****"/>
>>                <property name="password" value="****"/>
>>        </bean>
>> ===============================================================
>>
>> I thought that it it the way this thing works: after jdbc uri you
>> specify a bean, but apparently I got it wrong. I'm trying to define
>> endpoint explicitly now withing camel context.
>> Any help please?
>>
>> BTW: there is an error in schema location in default configuration
>> file: http://activemq.apache.org/schema/core/activemq-core.xsd does
>> not exist. I had to change it to
>> http://activemq.apache.org/schema/core/activemq-core-5.1.0.xsd to make
>> my Visual Studio hints working ;)
>>
>> --
>> From RFC 2631: In ASN.1, EXPLICIT tagging is implicit unless IMPLICIT
>> is explicitly specified
>>
>
>
>
> --
> From RFC 2631: In ASN.1, EXPLICIT tagging is implicit unless IMPLICIT
> is explicitly specified
>



-- 
>From RFC 2631: In ASN.1, EXPLICIT tagging is implicit unless IMPLICIT
is explicitly specified

Mime
View raw message