camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <claus.ib...@gmail.com>
Subject Re: How to import camel in a java application program
Date Sat, 09 Jan 2010 10:30:32 GMT
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

Mime
View raw message