You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Naveen Kumar <na...@gmail.com> on 2019/11/22 10:52:51 UTC

Not running on Jetty, JSR-356 support unavailable

I am trying to upgrade ActiveMQ jar to its latest version. It requires me
to upgrade Jetty to 9.4 version.
I have current setup as Tomcat 9 + ActiveMQ 5.12 + jetty-all-8.1.
I want to upgrade it as Tomcat 9 + ActiveMQ 5.15 + jetty-all-9.4.

After doing the changes when I try to start tomcat, it gives me below error:

javax.servlet.ServletException: Not running on Jetty, JSR-356 support
unavailable
    at
org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer.onStartup(WebSocketServerContainerInitializer.java:200)
    at
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5125)

It looks like Jetty 9.4 has JSR-356 implementation and it is conflicting
with Tomcat.
Can someone please help to fix this ?

Thanks
Naveen

Re: Not running on Jetty, JSR-356 support unavailable

Posted by Tim Bain <tb...@alumni.duke.edu>.
So we're repackaging com.sun.xml classes in the ActiveMQ JARs? Are you
using activemq-all.jar by any chance? If so, please switch to using the
individual JARs and see if that solves the problem; activemq-all.jar is
intended as a quick-start for standalone use, but anytime that users find
that they don't want something that is bundled with it, they (you) should
switch to the individual JARs.

If you're not using activemq-all.jar, can you tell us which JAR you see the
com.sun.xml JARs repackaged in?

Thanks,
Tim

On Mon, Dec 2, 2019, 6:18 AM Naveen Kumar <na...@gmail.com> wrote:

> Hi Tim,
>
> Thank you for the suggestion.
> I tried using TCP transport in place of HTTP and now I get another problem:
>
> SEVERE [main]
>
> com.sun.xml.ws.transport.http.servlet.WSServletContextListener.parseAdaptersAndCreateDelegate
> WSSERVLET11: failed to parse runtime descriptor:
> java.lang.NoClassDefFoundError: Could not initialize class
> com.sun.xml.ws.model.WrapperBeanGenerator
>         java.lang.NoClassDefFoundError: Could not initialize class
> com.sun.xml.ws.model.WrapperBeanGenerator
>                 at
>
> com.sun.xml.ws.model.RuntimeModeler.getRequestWrapperClass(RuntimeModeler.java:392)
>                 at
>
> com.sun.xml.ws.model.RuntimeModeler.processDocWrappedMethod(RuntimeModeler.java:815)
>                 at
> com.sun.xml.ws.model.RuntimeModeler.processMethod(RuntimeModeler.java:746)
>                 at
> com.sun.xml.ws.model.RuntimeModeler.processClass(RuntimeModeler.java:506)
>                 at
>
> com.sun.xml.ws.model.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:337)
>                 at
> com.sun.xml.ws.db.DatabindingImpl.<init>(DatabindingImpl.java:102)
>                 at
>
> com.sun.xml.ws.db.DatabindingProviderImpl.create(DatabindingProviderImpl.java:75)
>                 at
>
> com.sun.xml.ws.db.DatabindingProviderImpl.create(DatabindingProviderImpl.java:59)
>                 at
>
> com.sun.xml.ws.db.DatabindingFactoryImpl.createRuntime(DatabindingFactoryImpl.java:128)
>                 at
>
> com.sun.xml.ws.server.EndpointFactory.createSEIModel(EndpointFactory.java:436)
>                 at
> com.sun.xml.ws.server.EndpointFactory.create(EndpointFactory.java:270)
>                 at
>
> com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:147)
>                 at
> com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:574)
>                 at
> com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:557)
>                 at
>
> com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parseAdapters(DeploymentDescriptorParser.java:260)
>                 at
>
> com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parse(DeploymentDescriptorParser.java:152)
>                 at
>
> com.sun.xml.ws.transport.http.servlet.WSServletContextListener.parseAdaptersAndCreateDelegate(WSServletContextListener.java:131)
>                 at
>
> com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(WSServletContextListener.java:152)
>                 at
>
> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4682)
>                 at
>
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5143)
>                 at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
>                 at
>
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717)
>                 at
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)
>                 at
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
>                 at
>
> org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1133)
>                 at
>
> org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1867)
>                 at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>                 at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>                 at
>
> org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
>                 at
>
> java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
>                 at
>
> org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1045)
>                 at
> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:429)
>                 at
> org.apache.catalina.startup.HostConfig.start(HostConfig.java:1576)
>                 at
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:309)
>                 at
>
> org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
>                 at
>
> org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
>                 at
> org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
>                 at
>
> org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:936)
>                 at
> org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841)
>                 at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
>                 at
>
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384)
>                 at
>
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374)
>                 at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>                 at
>
> org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
>                 at
>
> java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
>                 at
>
> org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909)
>                 at
>
> org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
>                 at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
>                 at
>
> org.apache.catalina.core.StandardService.startInternal(StandardService.java:421)
>                 at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
>                 at
>
> org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:932)
>                 at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
>                 at
> org.apache.catalina.startup.Catalina.start(Catalina.java:633)
>                 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
>                 at
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>                 at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>                 at java.lang.reflect.Method.invoke(Method.java:498)
>                 at
> org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:344)
>                 at
> org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:475)
>
> It looks like some conflict with jaxws-rt.jar. I checked Activemq jar and
> it
> has a new package com.sun.xml.
> If I delete this package from the jar, the server start up works fine.
> Could you please help with this ?
>
> Thanks
> Naveen
>
>
>
> --
> Sent from:
> http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html
>

Re: Not running on Jetty, JSR-356 support unavailable

Posted by Naveen Kumar <na...@gmail.com>.
Hi Tim,

Thank you for the suggestion.
I tried using TCP transport in place of HTTP and now I get another problem:

SEVERE [main]
com.sun.xml.ws.transport.http.servlet.WSServletContextListener.parseAdaptersAndCreateDelegate
WSSERVLET11: failed to parse runtime descriptor:
java.lang.NoClassDefFoundError: Could not initialize class
com.sun.xml.ws.model.WrapperBeanGenerator
	java.lang.NoClassDefFoundError: Could not initialize class
com.sun.xml.ws.model.WrapperBeanGenerator
		at
com.sun.xml.ws.model.RuntimeModeler.getRequestWrapperClass(RuntimeModeler.java:392)
		at
com.sun.xml.ws.model.RuntimeModeler.processDocWrappedMethod(RuntimeModeler.java:815)
		at
com.sun.xml.ws.model.RuntimeModeler.processMethod(RuntimeModeler.java:746)
		at
com.sun.xml.ws.model.RuntimeModeler.processClass(RuntimeModeler.java:506)
		at
com.sun.xml.ws.model.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:337)
		at com.sun.xml.ws.db.DatabindingImpl.<init>(DatabindingImpl.java:102)
		at
com.sun.xml.ws.db.DatabindingProviderImpl.create(DatabindingProviderImpl.java:75)
		at
com.sun.xml.ws.db.DatabindingProviderImpl.create(DatabindingProviderImpl.java:59)
		at
com.sun.xml.ws.db.DatabindingFactoryImpl.createRuntime(DatabindingFactoryImpl.java:128)
		at
com.sun.xml.ws.server.EndpointFactory.createSEIModel(EndpointFactory.java:436)
		at com.sun.xml.ws.server.EndpointFactory.create(EndpointFactory.java:270)
		at
com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:147)
		at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:574)
		at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:557)
		at
com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parseAdapters(DeploymentDescriptorParser.java:260)
		at
com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parse(DeploymentDescriptorParser.java:152)
		at
com.sun.xml.ws.transport.http.servlet.WSServletContextListener.parseAdaptersAndCreateDelegate(WSServletContextListener.java:131)
		at
com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(WSServletContextListener.java:152)
		at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4682)
		at
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5143)
		at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
		at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717)
		at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)
		at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
		at
org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1133)
		at
org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1867)
		at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
		at java.util.concurrent.FutureTask.run(FutureTask.java:266)
		at
org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
		at
java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
		at
org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1045)
		at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:429)
		at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1576)
		at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:309)
		at
org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
		at
org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
		at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
		at
org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:936)
		at
org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841)
		at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
		at
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384)
		at
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374)
		at java.util.concurrent.FutureTask.run(FutureTask.java:266)
		at
org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
		at
java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
		at
org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909)
		at
org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
		at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
		at
org.apache.catalina.core.StandardService.startInternal(StandardService.java:421)
		at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
		at
org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:932)
		at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
		at org.apache.catalina.startup.Catalina.start(Catalina.java:633)
		at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
		at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
		at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
		at java.lang.reflect.Method.invoke(Method.java:498)
		at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:344)
		at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:475)

It looks like some conflict with jaxws-rt.jar. I checked Activemq jar and it
has a new package com.sun.xml.
If I delete this package from the jar, the server start up works fine.
Could you please help with this ?

Thanks
Naveen



--
Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html

Re: Not running on Jetty, JSR-356 support unavailable

Posted by Tim Bain <tb...@alumni.duke.edu>.
In the short term, one option would be to simply not include the Jetty JAR
in the ActiveMQ classpath. I'd expect you might lose access to the web
console and possibly also to the HTTP transport (I'm not sure if that
relies on Jetty, but it wouldn't surprise me if it did), but if you could
live without those things, it might give you an immediate path forward
while JB works out exactly which Jetty JARs should replace jetty-all.

Tim

On Fri, Nov 29, 2019, 12:22 AM Naveen Kumar <na...@gmail.com> wrote:

> Hi JB,
>
> For a test,
> I just placed the jetty-all jar in tomcat 9 lib and server start up reports
> the same error.
> I did not keep activemq or any other jar.
>
> Thanks
> Naveen
>
>
>
> --
> Sent from:
> http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html
>

Re: Not running on Jetty, JSR-356 support unavailable

Posted by Naveen Kumar <na...@gmail.com>.
Hi JB,

For a test,
I just placed the jetty-all jar in tomcat 9 lib and server start up reports
the same error.
I did not keep activemq or any other jar.

Thanks
Naveen



--
Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html

Re: Not running on Jetty, JSR-356 support unavailable

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Hi,

I don't think the conflict is related to jetty-all use.

Let me try to reproduce it first.

But clearly, it's related to the fact you are embedding ActiveMQ in Tomcat.

Regards
JB

On 29/11/2019 07:56, Naveen Kumar wrote:
> Hi JB,
> 
> Thanks for the quick response. Is there any way I can fix the existing
> problem of JSR-356 conflicts with tomcat ?
> I can see something related to this was mentioned here
> http://activemq.apache.org/tomcat.html and
> https://issues.apache.org/jira/browse/AMQ-6154
> But somehow it didn't help me.
> 
> Thanks
> Naveen
> 
> On Fri, Nov 29, 2019 at 11:53 AM Jean-Baptiste Onofré <jb...@nanthrax.net>
> wrote:
> 
>> Hi,
>>
>> ActiveMQ 5.15.11 uses Jetty 9.4.22, using jetty-all artifact.
>>
>> It's just fine for ActiveMQ standalone. Anyway, I will improve (mostly
>> to reduce the Jetty deps volume).
>>
>> If you use ActiveMQ in Karaf, you don't have the issue as Jetty
>> artifacts are already provided by Karaf.
>>
>> I created https://issues.apache.org/jira/browse/AMQ-7358 to do the
>> change for 5.16.0.
>>
>> Regards
>> JB
>>
>> On 29/11/2019 06:48, Naveen Kumar wrote:
>>> As per the below post at Jetty, the jar jetty-all should not be used by
>> any
>>> other projects.
>>> https://www.eclipse.org/lists/jetty-users/msg06030.html
>>> Can someone please help to confirm if my understanding is correct that
>>> activemq-all-5.15.10.jar has a dependency on
>>> jetty-all-9.4.19.v20190610-uber.jar ?
>>>
>>> Thanks
>>> Naveen
>>>
>>>
>>>
>>> --
>>> Sent from:
>> http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html
>>>
>>
>> --
>> Jean-Baptiste Onofré
>> jbonofre@apache.org
>> http://blog.nanthrax.net
>> Talend - http://www.talend.com
>>
> 

-- 
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com

Re: Not running on Jetty, JSR-356 support unavailable

Posted by Naveen Kumar <na...@gmail.com>.
Hi JB,

Thanks for the quick response. Is there any way I can fix the existing
problem of JSR-356 conflicts with tomcat ?
I can see something related to this was mentioned here
http://activemq.apache.org/tomcat.html and
https://issues.apache.org/jira/browse/AMQ-6154
But somehow it didn't help me.

Thanks
Naveen

On Fri, Nov 29, 2019 at 11:53 AM Jean-Baptiste Onofré <jb...@nanthrax.net>
wrote:

> Hi,
>
> ActiveMQ 5.15.11 uses Jetty 9.4.22, using jetty-all artifact.
>
> It's just fine for ActiveMQ standalone. Anyway, I will improve (mostly
> to reduce the Jetty deps volume).
>
> If you use ActiveMQ in Karaf, you don't have the issue as Jetty
> artifacts are already provided by Karaf.
>
> I created https://issues.apache.org/jira/browse/AMQ-7358 to do the
> change for 5.16.0.
>
> Regards
> JB
>
> On 29/11/2019 06:48, Naveen Kumar wrote:
> > As per the below post at Jetty, the jar jetty-all should not be used by
> any
> > other projects.
> > https://www.eclipse.org/lists/jetty-users/msg06030.html
> > Can someone please help to confirm if my understanding is correct that
> > activemq-all-5.15.10.jar has a dependency on
> > jetty-all-9.4.19.v20190610-uber.jar ?
> >
> > Thanks
> > Naveen
> >
> >
> >
> > --
> > Sent from:
> http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html
> >
>
> --
> Jean-Baptiste Onofré
> jbonofre@apache.org
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>

Re: Not running on Jetty, JSR-356 support unavailable

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Hi,

ActiveMQ 5.15.11 uses Jetty 9.4.22, using jetty-all artifact.

It's just fine for ActiveMQ standalone. Anyway, I will improve (mostly
to reduce the Jetty deps volume).

If you use ActiveMQ in Karaf, you don't have the issue as Jetty
artifacts are already provided by Karaf.

I created https://issues.apache.org/jira/browse/AMQ-7358 to do the
change for 5.16.0.

Regards
JB

On 29/11/2019 06:48, Naveen Kumar wrote:
> As per the below post at Jetty, the jar jetty-all should not be used by any
> other projects.
> https://www.eclipse.org/lists/jetty-users/msg06030.html
> Can someone please help to confirm if my understanding is correct that
> activemq-all-5.15.10.jar has a dependency on
> jetty-all-9.4.19.v20190610-uber.jar ?
> 
> Thanks
> Naveen
> 
> 
> 
> --
> Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html
> 

-- 
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com

Re: Not running on Jetty, JSR-356 support unavailable

Posted by Naveen Kumar <na...@gmail.com>.
As per the below post at Jetty, the jar jetty-all should not be used by any
other projects.
https://www.eclipse.org/lists/jetty-users/msg06030.html
Can someone please help to confirm if my understanding is correct that
activemq-all-5.15.10.jar has a dependency on
jetty-all-9.4.19.v20190610-uber.jar ?

Thanks
Naveen



--
Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html

Re: Not running on Jetty, JSR-356 support unavailable

Posted by Naveen Kumar <na...@gmail.com>.
Hi JB,

I am starting it from code using brokerservice.

Thanks
Naveen



--
Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html

Re: Not running on Jetty, JSR-356 support unavailable

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Hi Naveen

Are you integrated in Tomcat with RAR or you just start ActiveMQ by
"code" (BrokerService) ?

Regards
JB

On 22/11/2019 11:52, Naveen Kumar wrote:
> I am trying to upgrade ActiveMQ jar to its latest version. It requires me
> to upgrade Jetty to 9.4 version.
> I have current setup as Tomcat 9 + ActiveMQ 5.12 + jetty-all-8.1.
> I want to upgrade it as Tomcat 9 + ActiveMQ 5.15 + jetty-all-9.4.
> 
> After doing the changes when I try to start tomcat, it gives me below error:
> 
> javax.servlet.ServletException: Not running on Jetty, JSR-356 support
> unavailable
>     at
> org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer.onStartup(WebSocketServerContainerInitializer.java:200)
>     at
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5125)
> 
> It looks like Jetty 9.4 has JSR-356 implementation and it is conflicting
> with Tomcat.
> Can someone please help to fix this ?
> 
> Thanks
> Naveen
> 

-- 
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com