I used Eclipse to create my class. Linked the project to camel-core.....jar. Then deployed (copied) the jar to lib/optional. I thought that camel scans all jars in there but now I think I may be mistaken. Should I add my jar to classpath environment variable? I did not use Maven because I've never worked with it before and I'm trying to use familiar tools as much as possible.
Vadim. On Sun, Jul 6, 2008 at 9:03 PM, Claus Ibsen <[EMAIL PROTECTED]> wrote: > Hi > > How do you start your test? We need to know some more about this to be able > to help. Camel uses classloading to scan for your class and this can depend > in what server you run your tests. > > > 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:[EMAIL PROTECTED] > Sent: 7. juli 2008 03:46 > To: [email protected] > Subject: Re: MS SQL Message Service endpoint > > I've set log4j level to TRACE and with camel-1.4 (which has more > debuging info) I got the following: > DEBUG ResolverUtil - Searching for implementations > of org.apache.camel.builder.RouteBuilder in packages: > [org.mycompany.test] > TRACE ResolverUtil - Searching for: is assignable to > RouteBuilder in package: org/mycompany/test using classloader: > [EMAIL PROTECTED] > TRACE ResolverUtil - It's not an osgi bundle classloader > DEBUG ResolverUtil - Found: [] > > What's the deal with osgi? > > Vadim. > > On Sun, Jul 6, 2008 at 6:27 PM, Vadim Chekan <[EMAIL PROTECTED]> wrote: >> Good, tutorial helped a little bit. >> Now I've stuck with this: >> DEBUG ResolverUtil - Searching for implementations >> of org.apache.camel.builder.RouteBuilder in packages: >> [org.mycompany.test] >> DEBUG ResolverUtil - Found: [] >> >> I've compiled and put to lib/optional/MyTest.jar the following code: >> ======================================================== >> package org.mycompany.test; >> >> import org.apache.camel.builder.RouteBuilder; >> >> public class Mover1 extends RouteBuilder { >> public void configure() throws Exception { >> from("messagemq:vadim1").to("messagemq:vadim2"); >> } >> } >> ====================================================== >> >> Any clues why my class in not found? >> >> Vadim. >> >> On Fri, Jul 4, 2008 at 12:24 AM, Claus Ibsen <[EMAIL PROTECTED]> wrote: >>> Hi Vlad >>> >>> Ah you are digging into the auto discovery feature from the <package> tag. >>> E.g. from the tutorial, where there is a <package> tag in the camel context. >>> >>> <!-- declare a camel context that scans for classes that is RouteBuilder >>> in the package org.apache.camel.example.server --> >>> <camel:camelContext id="camel"> >>> <camel:package>org.apache.camel.example.server</camel:package> >>> <!-- enable JMX connector so we can connect to the server and browse >>> mbeans --> >>> <!-- Camel will log at INFO level the service URI to use for >>> connecting with jconsole --> >>> <camel:jmxAgent id="agent" createConnector="true"/> >>> </camel:camelContext> >>> >>> Yes it will look for classes in the package that extends RouteBuilder. >>> The RouteBuilder has a configure() method where you define the camel >>> routing in Java DSL. >>> >>> You can check out the tutorial: >>> http://activemq.apache.org/camel/tutorials.html >>> >>> So this is a good way to "kick-start" your camel context that its spring >>> configured but you can use the Java DSL that is more powerful than XML. >>> However Camel supports both, and mix/match. >>> >>> >>> >>> 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:[EMAIL PROTECTED] >>> Sent: 4. juli 2008 02:05 >>> To: [email protected] >>> Subject: Re: MS SQL Message Service endpoint >>> >>> 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 <[EMAIL PROTECTED]> 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:[EMAIL PROTECTED] >>>> Sent: 3. juli 2008 07:29 >>>> To: [email protected] >>>> 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:[EMAIL PROTECTED] >>>> Sent: 3. juli 2008 01:33 >>>> To: [email protected] >>>> 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 <[EMAIL PROTECTED]> 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 >>> >> >> >> >> -- >> 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
