camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ztesoft <njche...@hotmail.com>
Subject Re: How to import camel in a java application program
Date Mon, 11 Jan 2010 03:51:49 GMT

Sure.

public class HttpToFileRoute {

    public static void main(String args[]) throws Exception {
        // START SNIPPET: e1
        CamelContext context = new DefaultCamelContext();

        context.addRoutes(new RouteBuilder() {

            public void configure() {
                from("jetty:http://0.0.0.0/8080/").to("file:output");
                // set up a listener on the file component
                from("file://output").process(new Processor() {

                    public void process(Exchange e) {
                        System.out.println("Received exchange: " +
e.getIn());
                    }
                });
            }
        });
        context.start();

        Thread.sleep(100000);
        context.stop();
    }
}


This is all my code.



willem.jiang wrote:
> 
> Can I see the code that you start up the camel context and camel route ?
> Maybe you miss something.
> 
> Willem
> 
> ztesoft wrote:
>> yes, I used camel2.10 jar files(camel-core-2.1.0.jar,
>> camel-http-2.1.0.jar,
>> camel-spring-2.1.0.jar, camel-test-2.1.0.jar)
>> 
>> I just wrote a java application program, and import needed jar files for
>> program library. 
>> Actually, I don't know how to deploy these jar files to an OSGi
>> container.
>> 
>> 
>> willem.jiang wrote:
>>> If you are using camel-core-2.1.0.jar and camel-spring 2.1.0.jar, using 
>>> camel-http-2.1.0.jar should be OK.
>>>
>>> BTW, I assume you don't deploy these jar to an OSGi container.
>>>
>>> Willem
>>>
>>> ztesoft wrote:
>>>> I put camel-http-2.1.0.jar into my classpath.
>>>>
>>>> Are there large differences between them?
>>>>
>>>>
>>>>
>>>> willem.jiang wrote:
>>>>> Hi,
>>>>>
>>>>> Did you put org.apache.camel:camel-http:jar:2.2-SNAPSHOT into your 
>>>>> CLASSPATH ?
>>>>>
>>>>> Willem
>>>>>
>>>>> ztesoft wrote:
>>>>>> Dears,
>>>>>>
>>>>>> I tried to get all the jar files mentioned in your reply. Also I
>>>>>> found
>>>>>> there
>>>>>> miss a jar file named commons-management-1.0.jar.
>>>>>>
>>>>>> But when I run the program, the error occurs, the error message as
>>>>>> following:
>>>>>> Exception in thread "main"
>>>>>> org.apache.camel.FailedToCreateRouteException:
>>>>>> Failed to create route route1:
>>>>>> Route[[From[jetty:http://0.0.0.0/8080/]]
>>>>>> ->
>>>>>> [To[file:output]... because of Failed to resolve endpoint:
>>>>>> jetty://http://0.0.0.0/8080/ due to: No component found with scheme:
>>>>>> jetty
>>>>>>         at
>>>>>> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:141)
>>>>>>         at
>>>>>> org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:601)
>>>>>>         at
>>>>>> org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:1156)
>>>>>>         at
>>>>>> org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1073)
>>>>>>         at
>>>>>> org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1009)
>>>>>>         at
>>>>>> org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:55)
>>>>>>         at
>>>>>> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:884)
>>>>>>         at camelhttp.HttpToFileRoute.main(HttpToFileRoute.java:38)
>>>>>> Caused by: org.apache.camel.ResolveEndpointFailedException: Failed
to
>>>>>> resolve endpoint: jetty://http://0.0.0.0/8080/ due to: No component
>>>>>> found
>>>>>> with scheme: jetty
>>>>>>         at
>>>>>> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:444)
>>>>>>         at
>>>>>> org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:46)
>>>>>>         at
>>>>>> org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:154)
>>>>>>         at
>>>>>> org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:109)
>>>>>>         at
>>>>>> org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:115)
>>>>>>         at
>>>>>> org.apache.camel.model.FromDefinition.resolveEndpoint(FromDefinition.java:72)
>>>>>>         at
>>>>>> org.apache.camel.impl.DefaultRouteContext.getEndpoint(DefaultRouteContext.java:84)
>>>>>>         at
>>>>>> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:630)
>>>>>>         at
>>>>>> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:136)
>>>>>>         ... 7 more
>>>>>> Java Result: 1
>>>>>>
>>>>>> what can I do for this error?
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Claus Ibsen-2 wrote:
>>>>>>> On Sat, Jan 9, 2010 at 11:23 AM, ztesoft <njchenyi@hotmail.com>
>>>>>>> wrote:
>>>>>>>> I wrote the code as following:
>>>>>>>> public class HttpToFileRoute {
>>>>>>>>
>>>>>>>>    public static void main(String args[]) throws Exception
{
>>>>>>>>        CamelContext context = new DefaultCamelContext();
>>>>>>>>
>>>>>>>>        context.addRoutes(new RouteBuilder() {
>>>>>>>>
>>>>>>>>            public void configure() {
>>>>>>>>               
>>>>>>>> from("jetty:http://0.0.0.0/8080/").to("file:output");
>>>>>>>>                // set up a listener on the file component
>>>>>>>>                from("file://output").process(new Processor()
{
>>>>>>>>
>>>>>>>>                    public void process(Exchange e) {
>>>>>>>>                        System.out.println("Received exchange:
" +
>>>>>>>> e.getIn());
>>>>>>>>                    }
>>>>>>>>                });
>>>>>>>>            }
>>>>>>>>        });
>>>>>>>>        context.start();
>>>>>>>>
>>>>>>>>        Thread.sleep(100000);  // I want to let the server
works
>>>>>>>> 100000
>>>>>>>> seconds, is it correct?
>>>>>>>>        context.stop();
>>>>>>>>    }
>>>>>>>> }
>>>>>>>>
>>>>>>>> but when I run the program, the error occurs. error message
as
>>>>>>>> following:
>>>>>>>> Exception in thread "main" java.lang.NoClassDefFoundError:
>>>>>>>> org/mortbay/jetty/security/SslSocketConnector
>>>>>>>>        at java.lang.Class.getDeclaredConstructors0(Native
Method)
>>>>>>>>        at
>>>>>>>> java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
>>>>>>>>        at java.lang.Class.getConstructor0(Class.java:2699)
>>>>>>>>        at java.lang.Class.newInstance0(Class.java:326)
>>>>>>>>        at java.lang.Class.newInstance(Class.java:308)
>>>>>>>>        at
>>>>>>>> org.apache.camel.util.ObjectHelper.newInstance(ObjectHelper.java:958)
>>>>>>>>        at
>>>>>>>> org.apache.camel.util.ReflectionInjector.newInstance(ReflectionInjector.java:32)
>>>>>>>>        at
>>>>>>>> org.apache.camel.impl.DefaultComponentResolver.resolveComponent(DefaultComponentResolver.java:82)
>>>>>>>>        at
>>>>>>>> org.apache.camel.impl.DefaultCamelContext.getComponent(DefaultCamelContext.java:217)
>>>>>>>>        at
>>>>>>>> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:411)
>>>>>>>>        at
>>>>>>>> org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:46)
>>>>>>>>        at
>>>>>>>> org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:154)
>>>>>>>>        at
>>>>>>>> org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:109)
>>>>>>>>        at
>>>>>>>> org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:115)
>>>>>>>>        at
>>>>>>>> org.apache.camel.model.FromDefinition.resolveEndpoint(FromDefinition.java:72)
>>>>>>>>        at
>>>>>>>> org.apache.camel.impl.DefaultRouteContext.getEndpoint(DefaultRouteContext.java:84)
>>>>>>>>        at
>>>>>>>> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:630)
>>>>>>>>        at
>>>>>>>> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:136)
>>>>>>>>        at
>>>>>>>> org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:601)
>>>>>>>>        at
>>>>>>>> org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:1156)
>>>>>>>>        at
>>>>>>>> org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1073)
>>>>>>>>        at
>>>>>>>> org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1009)
>>>>>>>>        at
>>>>>>>> org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:55)
>>>>>>>>        at
>>>>>>>> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:884)
>>>>>>>>        at
>>>>>>>> org.apache.camel.example.jmstofile.HttpToFileRoute.main(HttpToFileRoute.java:38)
>>>>>>>> Caused by: java.lang.ClassNotFoundException:
>>>>>>>> org.mortbay.jetty.security.SslSocketConnector
>>>>>>>>        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
>>>>>>>>        at java.security.AccessController.doPrivileged(Native
>>>>>>>> Method)
>>>>>>>>        at
>>>>>>>> java.net.URLClassLoader.findClass(URLClassLoader.java:188)
>>>>>>>>        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
>>>>>>>>        at
>>>>>>>> sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
>>>>>>>>        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
>>>>>>>>        at
>>>>>>>> java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
>>>>>>>>        ... 25 more
>>>>>>>>
>>>>>>>>
>>>>>>>> I know there should be imported some jar files. But which
files
>>>>>>>> should
>>>>>>>> I
>>>>>>>> import?
>>>>>>>> Also, is the code correct?
>>>>>>>>
>>>>>>> The code appears correct.
>>>>>>>
>>>>>>> You need many jars (the ones with compile listed) from below.
>>>>>>>
>>>>>>> If you use maven then that is easy as Maven resolves the jars
to
>>>>>>> use.
>>>>>>> Without maven you gotta go hunt for those jars yourself.
>>>>>>>
>>>>>>>
>>>>>>> [INFO]
>>>>>>> ------------------------------------------------------------------------
>>>>>>> [INFO] Building Camel :: Jetty
>>>>>>> [INFO]    task-segment: [dependency:list]
>>>>>>> [INFO]
>>>>>>> ------------------------------------------------------------------------
>>>>>>> [INFO] [dependency:list]
>>>>>>> [INFO]
>>>>>>> [INFO] The following files have been resolved:
>>>>>>> [INFO]    aopalliance:aopalliance:jar:1.0:test
>>>>>>> [INFO]    com.sun.xml.bind:jaxb-impl:jar:2.1.12:compile
>>>>>>> [INFO]    commons-codec:commons-codec:jar:1.2:compile
>>>>>>> [INFO]    commons-httpclient:commons-httpclient:jar:3.1:compile
>>>>>>> [INFO]    commons-logging:commons-logging:jar:1.1.1:compile
>>>>>>> [INFO]    commons-logging:commons-logging-api:jar:1.1:compile
>>>>>>> [INFO]    javax.activation:activation:jar:1.1:compile
>>>>>>> [INFO]    javax.xml.bind:jaxb-api:jar:2.1:compile
>>>>>>> [INFO]    javax.xml.stream:stax-api:jar:1.0-2:compile
>>>>>>> [INFO]    junit:junit:jar:4.4:test
>>>>>>> [INFO]    log4j:log4j:jar:1.2.14:test
>>>>>>> [INFO]    org.apache.camel:camel-core:jar:2.2-SNAPSHOT:compile
>>>>>>> [INFO]    org.apache.camel:camel-http:jar:2.2-SNAPSHOT:compile
>>>>>>> [INFO]    org.apache.camel:camel-spring:jar:2.2-SNAPSHOT:test
>>>>>>> [INFO]    org.apache.camel:camel-test:jar:2.2-SNAPSHOT:test
>>>>>>> [INFO]   
>>>>>>> org.apache.geronimo.specs:geronimo-servlet_2.4_spec:jar:1.1.1:compile
>>>>>>> [INFO]   
>>>>>>> org.fusesource.commonman:commons-management:jar:1.0:compile
>>>>>>> [INFO]    org.mortbay.jetty:jetty:jar:6.1.19:compile
>>>>>>> [INFO]    org.mortbay.jetty:jetty-client:jar:6.1.19:compile
>>>>>>> [INFO]    org.mortbay.jetty:jetty-sslengine:jar:6.1.19:compile
>>>>>>> [INFO]    org.mortbay.jetty:jetty-util:jar:6.1.19:compile
>>>>>>> [INFO]    org.mortbay.jetty:jetty-util5:jar:6.1.19:compile
>>>>>>> [INFO]    org.mortbay.jetty:servlet-api:jar:2.5-20081211:compile
>>>>>>> [INFO]    org.springframework:spring-aop:jar:2.5.6:test
>>>>>>> [INFO]    org.springframework:spring-beans:jar:2.5.6:test
>>>>>>> [INFO]    org.springframework:spring-context:jar:2.5.6:test
>>>>>>> [INFO]    org.springframework:spring-core:jar:2.5.6:test
>>>>>>> [INFO]    org.springframework:spring-tx:jar:2.5.6:test
>>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Stephen Gargan wrote:
>>>>>>>>> Yes, adding the camel-jetty dependency and initiializing
a route
>>>>>>>>> with
>>>>>>>>>
>>>>>>>>> from("jetty:http://0.0.0.0/8080/").to("file:test")
>>>>>>>>>
>>>>>>>>> will cause camel to stand up a jetty based http server.
The
>>>>>>>>> content
>>>>>>>>> of
>>>>>>>>> any http request sent to '/' on the server will be written
to the
>>>>>>>>> file
>>>>>>>>> 'test'
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Fri, Jan 8, 2010 at 11:34 PM, ztesoft <njchenyi@hotmail.com>
>>>>>>>>> wrote:
>>>>>>>>>> Does it mean I should use jetty for HTTP server?
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Stephen Gargan wrote:
>>>>>>>>>>> Take a look at the jms-to-file from the examples
>>>>>>>>>>>
>>>>>>>>>>> http://svn.apache.org/repos/asf/camel/trunk/examples/camel-example-jms-file/
>>>>>>>>>>>
>>>>>>>>>>> Look at the JmsToFileRoute; You'll be using a
jetty http
>>>>>>>>>>> endpoint
>>>>>>>>>>> in
>>>>>>>>>>> place of the jms one e.g.
>>>>>>>>>>>
>>>>>>>>>>> from("jetty:http://0.0.0.0/8080/").to("file:test")
>>>>>>>>>>>
>>>>>>>>>>> Remember, you'll need to include the camel-jetty
dependency so
>>>>>>>>>>> add
>>>>>>>>>>> this to your pom.
>>>>>>>>>>>
>>>>>>>>>>> Give it a try.
>>>>>>>>>>>
>>>>>>>>>>> ste
>>>>>>>>>>>
>>>>>>>>>>> On Fri, Jan 8, 2010 at 10:28 PM, ztesoft <njchenyi@hotmail.com>
>>>>>>>>>>> wrote:
>>>>>>>>>>>> I write a java application program to achieve
a HTTP server.
>>>>>>>>>>>> Camel
>>>>>>>>>>>> is
>>>>>>>>>>>> used in
>>>>>>>>>>>> this program to receive the http requests
and transfer them to
>>>>>>>>>>>> a
>>>>>>>>>>>> file.
>>>>>>>>>>>>
>>>>>>>>>>>> Does anyone suggest me how to do this?
>>>>>>>>>>>> --
>>>>>>>>>>>> View this message in context:
>>>>>>>>>>>> http://old.nabble.com/How-to-import-camel-in-a-java-application-program-tp27085959p27085959.html
>>>>>>>>>>>> Sent from the Camel - Users mailing list
archive at Nabble.com.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> View this message in context:
>>>>>>>>>> http://old.nabble.com/How-to-import-camel-in-a-java-HTTP-server-application-program-tp27085959p27086149.html
>>>>>>>>>> Sent from the Camel - Users mailing list archive
at Nabble.com.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>> --
>>>>>>>> View this message in context:
>>>>>>>> http://old.nabble.com/How-to-import-camel-in-a-java-HTTP-server-application-program-tp27085959p27087072.html
>>>>>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>>>>>
>>>>>>>>
>>>>>>> -- 
>>>>>>> Claus Ibsen
>>>>>>> Apache Camel Committer
>>>>>>>
>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>
>>>>>>>
>>>>>
>>>
>>>
>> 
> 
> 
> 

-- 
View this message in context: http://old.nabble.com/How-to-import-camel-in-a-java-HTTP-server-application-program-tp27085959p27105625.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Mime
View raw message