ServiceMix 4
  1. ServiceMix 4
  2. SMX4-1383

Using Smx - Camel - iBatis - FileNotFoundException (SqlMapConfig.xml)

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 4.3.0
    • Fix Version/s: 4.6.0
    • Component/s: Assemblies
    • Labels:
      None
    • Environment:

      Ubuntu 10 / ServiceMix 4.3.0 / MySQL 5.1.41

    • Patch Info:
      Patch Available

      Description

      As requested by Gert on the mailing list, here is my issue while working on a sample to use iBatis in a Camel route made with blueprint and deployed on servicemix. Deployment is fine, but when the route is triggered (in this trivial case, by dropping a file in the input folder), I get the foolowing stacktrace :
      re - 2.6.0 | Failed delivery for exchangeId: ID-oniryx-mike-44496-1300887687177-6-34. Exhausted after delivery attempt: 1 caught: java.io.FileNotFoundException: class path resource [SqlMapConfig.xml] cannot be opened because it does not exist
      java.io.FileNotFoundException: class path resource [SqlMapConfig.xml] cannot be opened because it does not exist
      at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:158)[56:org.springframework.core:3.0.5.RELEASE]
      at org.apache.camel.component.ibatis.IBatisComponent.createSqlMapClient(IBatisComponent.java:88)[225:org.apache.camel.camel-ibatis:2.6.0]
      at org.apache.camel.component.ibatis.IBatisComponent.getSqlMapClient(IBatisComponent.java:104)[225:org.apache.camel.camel-ibatis:2.6.0]
      at org.apache.camel.component.ibatis.IBatisEndpoint.getSqlMapClient(IBatisEndpoint.java:77)[225:org.apache.camel.camel-ibatis:2.6.0]
      at org.apache.camel.component.ibatis.IBatisProducer.doDelete(IBatisProducer.java:152)[225:org.apache.camel.camel-ibatis:2.6.0]
      at org.apache.camel.component.ibatis.IBatisProducer.process(IBatisProducer.java:55)[225:org.apache.camel.camel-ibatis:2.6.0]
      at org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:50)[68:org.apache.camel.camel-core:2.6.0]
      at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[68:org.apache.camel.camel-core:2.6.0]
      at org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:104)[68:org.apache.camel.camel-core:2.6.0]
      at org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:272)[68:org.apache.camel.camel-core:2.6.0]
      at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:98)[68:org.apache.camel.camel-core:2.6.0]
      at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[68:org.apache.camel.camel-core:2.6.0]
      at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[68:org.apache.camel.camel-core:2.6.0]
      at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[68:org.apache.camel.camel-core:2.6.0]
      at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)[68:org.apache.camel.camel-core:2.6.0]
      at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[68:org.apache.camel.camel-core:2.6.0]
      at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[68:org.apache.camel.camel-core:2.6.0]
      at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[68:org.apache.camel.camel-core:2.6.0]
      at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:99)[68:org.apache.camel.camel-core:2.6.0]
      at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[68:org.apache.camel.camel-core:2.6.0]
      at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:299)[68:org.apache.camel.camel-core:2.6.0]
      at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:208)[68:org.apache.camel.camel-core:2.6.0]
      at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:269)[68:org.apache.camel.camel-core:2.6.0]
      at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[68:org.apache.camel.camel-core:2.6.0]
      at org.apache.camel.processor.Pipeline.process(Pipeline.java:125)[68:org.apache.camel.camel-core:2.6.0]
      at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)[68:org.apache.camel.camel-core:2.6.0]
      at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:102)[68:org.apache.camel.camel-core:2.6.0]
      at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[68:org.apache.camel.camel-core:2.6.0]
      at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[68:org.apache.camel.camel-core:2.6.0]
      at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[68:org.apache.camel.camel-core:2.6.0]
      at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)[68:org.apache.camel.camel-core:2.6.0]
      at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:330)[68:org.apache.camel.camel-core:2.6.0]
      at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:157)[68:org.apache.camel.camel-core:2.6.0]
      at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:121)[68:org.apache.camel.camel-core:2.6.0]
      at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:97)[68:org.apache.camel.camel-core:2.6.0]
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)[:1.6.0_22]
      at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)[:1.6.0_22]
      at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)[:1.6.0_22]
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)[:1.6.0_22]
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)[:1.6.0_22]
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)[:1.6.0_22]
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_22]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_22]
      at java.lang.Thread.run(Thread.java:662)[:1.6.0_22]
      15:53:31,021 | ERROR | //activemq/input | GenericFileOnCompletion | ? ? | 68 - org.apache.camel.camel-core - 2.6.0 | Caused by: [java.io.FileNotFoundException - class path resource [SqlMapConfig.xml] cannot be opened because it does not exist]
      java.io.FileNotFoundException: class path resource [SqlMapConfig.xml] cannot be opened because it does not exist
      at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:158)[56:org.springframework.core:3.0.5.RELEASE]
      at org.apache.camel.component.ibatis.IBatisComponent.createSqlMapClient(IBatisComponent.java:88)[225:org.apache.camel.camel-ibatis:2.6.0]
      at org.apache.camel.component.ibatis.IBatisComponent.getSqlMapClient(IBatisComponent.java:104)[225:org.apache.camel.camel-ibatis:2.6.0]
      at org.apache.camel.component.ibatis.IBatisEndpoint.getSqlMapClient(IBatisEndpoint.java:77)[225:org.apache.camel.camel-ibatis:2.6.0]
      at org.apache.camel.component.ibatis.IBatisProducer.doDelete(IBatisProducer.java:152)[225:org.apache.camel.camel-ibatis:2.6.0]
      at org.apache.camel.component.ibatis.IBatisProducer.process(IBatisProducer.java:55)[225:org.apache.camel.camel-ibatis:2.6.0]
      at org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:50)[68:org.apache.camel.camel-core:2.6.0]

      1. test-ibatis-spring.zip
        4 kB
        Michael Dewitte
      2. test-ibatis.zip
        3 kB
        Michael Dewitte

        Activity

        Michael Dewitte created issue -
        Hide
        Michael Dewitte added a comment -

        the full source with pom

        Show
        Michael Dewitte added a comment - the full source with pom
        Michael Dewitte made changes -
        Field Original Value New Value
        Attachment test-ibatis.zip [ 12474403 ]
        Hide
        Michael Dewitte added a comment -

        As suggested on the camel mailing-list, I tried replacing blueprint by spring xml. And I don't get the same error anymore ! Instead, first, I have to solve the fact that it goes to the net to get the http://ibatis.apache.org/dtd/sql-map-config-2.dtd I can't understand why. It was failing because I was offline. I saw it through taking a network trace.
        The stacktrace I had was :

        10:02:03,097 | ERROR | //activemq/input | DefaultErrorHandler | 68 - org.apache.camel.camel-core - 2.6.0 | Failed delivery for exchangeId: ID-oniryx-mike-44117-1300956291456-0-94. Exhausted after delivery attempt: 1 caught: java.lang.RuntimeException: Error occurred. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: java.net.ConnectException: Connection timed out
        java.lang.RuntimeException: Error occurred. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: java.net.ConnectException: Connection timed out
        at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:49)[224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3]
        at com.ibatis.sqlmap.client.SqlMapClientBuilder.buildSqlMapClient(SqlMapClientBuilder.java:63)[224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3]
        at org.apache.camel.component.ibatis.IBatisComponent.createSqlMapClient(IBatisComponent.java:89)[225:org.apache.camel.camel-ibatis:2.6.0]
        at org.apache.camel.component.ibatis.IBatisComponent.getSqlMapClient(IBatisComponent.java:104)[225:org.apache.camel.camel-ibatis:2.6.0]
        at org.apache.camel.component.ibatis.IBatisEndpoint.getSqlMapClient(IBatisEndpoint.java:77)[225:org.apache.camel.camel-ibatis:2.6.0]
        at org.apache.camel.component.ibatis.IBatisProducer.doDelete(IBatisProducer.java:152)[225:org.apache.camel.camel-ibatis:2.6.0]
        at org.apache.camel.component.ibatis.IBatisProducer.process(IBatisProducer.java:55)[225:org.apache.camel.camel-ibatis:2.6.0]
        at org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:50)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:104)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:272)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:98)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:99)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:299)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:208)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:269)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:125)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:102)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:330)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:157)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:121)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:97)[68:org.apache.camel.camel-core:2.6.0]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)[:1.6.0_22]
        at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)[:1.6.0_22]
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)[:1.6.0_22]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)[:1.6.0_22]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)[:1.6.0_22]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)[:1.6.0_22]
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_22]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_22]
        at java.lang.Thread.run(Thread.java:662)[:1.6.0_22]
        Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: java.net.ConnectException: Connection timed out
        at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:53)[224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3]
        at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:46)[224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3]
        ... 44 more
        Caused by: java.net.ConnectException: Connection timed out
        at java.net.PlainSocketImpl.socketConnect(Native Method)[:1.6.0_22]
        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)[:1.6.0_22]
        at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)[:1.6.0_22]
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)[:1.6.0_22]
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)[:1.6.0_22]
        at java.net.Socket.connect(Socket.java:529)[:1.6.0_22]
        at java.net.Socket.connect(Socket.java:478)[:1.6.0_22]
        at sun.net.NetworkClient.doConnect(NetworkClient.java:163)[:1.6.0_22]
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:394)[:1.6.0_22]
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:529)[:1.6.0_22]
        at sun.net.www.http.HttpClient.<init>(HttpClient.java:233)[:1.6.0_22]
        at sun.net.www.http.HttpClient.New(HttpClient.java:306)[:1.6.0_22]
        at sun.net.www.http.HttpClient.New(HttpClient.java:323)[:1.6.0_22]
        at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:975)[:1.6.0_22]
        at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:916)[:1.6.0_22]
        at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:841)[:1.6.0_22]
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1177)[:1.6.0_22]
        at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)[:]
        at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source)[:]
        at org.apache.xerces.impl.XMLEntityManager.startDTDEntity(Unknown Source)[:]
        at org.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(Unknown Source)[:]
        at org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown Source)[:]
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)[:]
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)[:]
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)[:]
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)[:]
        at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)[:]
        at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)[:]
        at com.ibatis.common.xml.NodeletParser.createDocument(NodeletParser.java:157)[224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3]
        at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:50)[224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3]
        ... 45 more

        Show
        Michael Dewitte added a comment - As suggested on the camel mailing-list, I tried replacing blueprint by spring xml. And I don't get the same error anymore ! Instead, first, I have to solve the fact that it goes to the net to get the http://ibatis.apache.org/dtd/sql-map-config-2.dtd I can't understand why. It was failing because I was offline. I saw it through taking a network trace. The stacktrace I had was : 10:02:03,097 | ERROR | //activemq/input | DefaultErrorHandler | 68 - org.apache.camel.camel-core - 2.6.0 | Failed delivery for exchangeId: ID-oniryx-mike-44117-1300956291456-0-94. Exhausted after delivery attempt: 1 caught: java.lang.RuntimeException: Error occurred. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: java.net.ConnectException: Connection timed out java.lang.RuntimeException: Error occurred. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: java.net.ConnectException: Connection timed out at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:49) [224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3] at com.ibatis.sqlmap.client.SqlMapClientBuilder.buildSqlMapClient(SqlMapClientBuilder.java:63) [224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3] at org.apache.camel.component.ibatis.IBatisComponent.createSqlMapClient(IBatisComponent.java:89) [225:org.apache.camel.camel-ibatis:2.6.0] at org.apache.camel.component.ibatis.IBatisComponent.getSqlMapClient(IBatisComponent.java:104) [225:org.apache.camel.camel-ibatis:2.6.0] at org.apache.camel.component.ibatis.IBatisEndpoint.getSqlMapClient(IBatisEndpoint.java:77) [225:org.apache.camel.camel-ibatis:2.6.0] at org.apache.camel.component.ibatis.IBatisProducer.doDelete(IBatisProducer.java:152) [225:org.apache.camel.camel-ibatis:2.6.0] at org.apache.camel.component.ibatis.IBatisProducer.process(IBatisProducer.java:55) [225:org.apache.camel.camel-ibatis:2.6.0] at org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:50) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:104) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:272) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:98) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:99) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:299) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:208) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:269) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.Pipeline.process(Pipeline.java:125) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.Pipeline.process(Pipeline.java:80) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:102) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:330) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:157) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:121) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:97) [68:org.apache.camel.camel-core:2.6.0] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) [:1.6.0_22] at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) [:1.6.0_22] at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) [:1.6.0_22] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98) [:1.6.0_22] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180) [:1.6.0_22] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204) [:1.6.0_22] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_22] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_22] at java.lang.Thread.run(Thread.java:662) [:1.6.0_22] Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: java.net.ConnectException: Connection timed out at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:53) [224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3] at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:46) [224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3] ... 44 more Caused by: java.net.ConnectException: Connection timed out at java.net.PlainSocketImpl.socketConnect(Native Method) [:1.6.0_22] at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) [:1.6.0_22] at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) [:1.6.0_22] at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) [:1.6.0_22] at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) [:1.6.0_22] at java.net.Socket.connect(Socket.java:529) [:1.6.0_22] at java.net.Socket.connect(Socket.java:478) [:1.6.0_22] at sun.net.NetworkClient.doConnect(NetworkClient.java:163) [:1.6.0_22] at sun.net.www.http.HttpClient.openServer(HttpClient.java:394) [:1.6.0_22] at sun.net.www.http.HttpClient.openServer(HttpClient.java:529) [:1.6.0_22] at sun.net.www.http.HttpClient.<init>(HttpClient.java:233) [:1.6.0_22] at sun.net.www.http.HttpClient.New(HttpClient.java:306) [:1.6.0_22] at sun.net.www.http.HttpClient.New(HttpClient.java:323) [:1.6.0_22] at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:975) [:1.6.0_22] at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:916) [:1.6.0_22] at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:841) [:1.6.0_22] at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1177) [:1.6.0_22] at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source) [:] at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source) [:] at org.apache.xerces.impl.XMLEntityManager.startDTDEntity(Unknown Source) [:] at org.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(Unknown Source) [:] at org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown Source) [:] at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) [:] at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) [:] at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) [:] at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) [:] at org.apache.xerces.parsers.DOMParser.parse(Unknown Source) [:] at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source) [:] at com.ibatis.common.xml.NodeletParser.createDocument(NodeletParser.java:157) [224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3] at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:50) [224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3] ... 45 more
        Hide
        Michael Dewitte added a comment -

        The version with Spring xml instead of blueprint

        Show
        Michael Dewitte added a comment - The version with Spring xml instead of blueprint
        Michael Dewitte made changes -
        Attachment test-ibatis-spring.zip [ 12474497 ]
        Hide
        Michael Dewitte added a comment -

        With the "Spring xml" version, if I give access to the internet to my box (but why do I have to ?), I now get the foolowing error :
        com.ibatis.common.jdbc.exception.NestedSQLException:
        — The error occurred in User.xml.
        — The error occurred while executing mapped statement.
        — Check the deleteUser.
        — Check the statement or the result map.
        — Cause: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/forem_1
        com.ibatis.common.jdbc.exception.NestedSQLException:
        — The error occurred in User.xml.
        — The error occurred while executing mapped statement.
        — Check the deleteUser.
        — Check the statement or the result map.
        — Cause: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/forem_1
        at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeUpdate(MappedStatement.java:107)[224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3]
        at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.update(SqlMapExecutorDelegate.java:457)[224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3]
        at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.delete(SqlMapExecutorDelegate.java:480)[224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3]
        at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.delete(SqlMapSessionImpl.java:98)[224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3]
        at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.delete(SqlMapClientImpl.java:74)[224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3]
        at org.apache.camel.component.ibatis.IBatisProducer.doDelete(IBatisProducer.java:164)[225:org.apache.camel.camel-ibatis:2.6.0]
        at org.apache.camel.component.ibatis.IBatisProducer.process(IBatisProducer.java:55)[225:org.apache.camel.camel-ibatis:2.6.0]
        at org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:50)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:104)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:272)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:98)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:99)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:299)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:208)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:269)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:125)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:102)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:330)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:157)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:121)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:97)[68:org.apache.camel.camel-core:2.6.0]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)[:1.6.0_22]
        at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)[:1.6.0_22]
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)[:1.6.0_22]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)[:1.6.0_22]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)[:1.6.0_22]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)[:1.6.0_22]
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_22]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_22]
        at java.lang.Thread.run(Thread.java:662)[:1.6.0_22]
        Caused by: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/forem_1
        at java.sql.DriverManager.getConnection(DriverManager.java:602)[:1.6.0_22]
        at java.sql.DriverManager.getConnection(DriverManager.java:185)[:1.6.0_22]
        at com.ibatis.common.jdbc.SimpleDataSource.popConnection(SimpleDataSource.java:580)[224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3]
        at com.ibatis.common.jdbc.SimpleDataSource.getConnection(SimpleDataSource.java:222)[224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3]
        at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.init(JdbcTransaction.java:48)[224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3]
        at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.getConnection(JdbcTransaction.java:89)[224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3]
        at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeUpdate(MappedStatement.java:94)[224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3]
        ... 44 more
        13:56:40,050 | ERROR | //activemq/input | GenericFileOnCompletion | 68 - org.apache.camel.camel-core - 2.6.0 | Caused by: [com.ibatis.common.jdbc.exception.NestedSQLException -
        — The error occurred in User.xml.
        — The error occurred while executing mapped statement.
        — Check the deleteUser.
        — Check the statement or the result map.
        — Cause: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/forem_1]
        com.ibatis.common.jdbc.exception.NestedSQLException:
        — The error occurred in User.xml.
        — The error occurred while executing mapped statement.
        — Check the deleteUser.
        — Check the statement or the result map.
        — Cause: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/forem_1
        at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeUpdate(MappedStatement.java:107)[224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3]
        at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.update(SqlMapExecutorDelegate.java:457)[224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3]
        at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.delete(SqlMapExecutorDelegate.java:480)[224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3]
        at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.delete(SqlMapSessionImpl.java:98)[224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3]
        at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.delete(SqlMapClientImpl.java:74)[224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3]
        at org.apache.camel.component.ibatis.IBatisProducer.doDelete(IBatisProducer.java:164)[225:org.apache.camel.camel-ibatis:2.6.0]
        at org.apache.camel.component.ibatis.IBatisProducer.process(IBatisProducer.java:55)[225:org.apache.camel.camel-ibatis:2.6.0]
        at org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:50)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:104)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:272)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:98)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:99)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:299)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:208)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:269)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:125)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:102)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:330)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:157)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:121)[68:org.apache.camel.camel-core:2.6.0]
        at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:97)[68:org.apache.camel.camel-core:2.6.0]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)[:1.6.0_22]
        at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)[:1.6.0_22]
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)[:1.6.0_22]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)[:1.6.0_22]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)[:1.6.0_22]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)[:1.6.0_22]
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_22]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_22]
        at java.lang.Thread.run(Thread.java:662)[:1.6.0_22]
        Caused by: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/forem_1
        at java.sql.DriverManager.getConnection(DriverManager.java:602)[:1.6.0_22]
        at java.sql.DriverManager.getConnection(DriverManager.java:185)[:1.6.0_22]
        at com.ibatis.common.jdbc.SimpleDataSource.popConnection(SimpleDataSource.java:580)[224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3]
        at com.ibatis.common.jdbc.SimpleDataSource.getConnection(SimpleDataSource.java:222)[224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3]
        at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.init(JdbcTransaction.java:48)[224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3]
        at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.getConnection(JdbcTransaction.java:89)[224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3]
        at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeUpdate(MappedStatement.java:94)[224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3]
        ... 44 more

        Show
        Michael Dewitte added a comment - With the "Spring xml" version, if I give access to the internet to my box (but why do I have to ?), I now get the foolowing error : com.ibatis.common.jdbc.exception.NestedSQLException: — The error occurred in User.xml. — The error occurred while executing mapped statement. — Check the deleteUser. — Check the statement or the result map. — Cause: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/forem_1 com.ibatis.common.jdbc.exception.NestedSQLException: — The error occurred in User.xml. — The error occurred while executing mapped statement. — Check the deleteUser. — Check the statement or the result map. — Cause: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/forem_1 at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeUpdate(MappedStatement.java:107) [224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3] at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.update(SqlMapExecutorDelegate.java:457) [224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3] at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.delete(SqlMapExecutorDelegate.java:480) [224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3] at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.delete(SqlMapSessionImpl.java:98) [224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3] at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.delete(SqlMapClientImpl.java:74) [224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3] at org.apache.camel.component.ibatis.IBatisProducer.doDelete(IBatisProducer.java:164) [225:org.apache.camel.camel-ibatis:2.6.0] at org.apache.camel.component.ibatis.IBatisProducer.process(IBatisProducer.java:55) [225:org.apache.camel.camel-ibatis:2.6.0] at org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:50) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:104) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:272) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:98) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:99) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:299) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:208) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:269) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.Pipeline.process(Pipeline.java:125) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.Pipeline.process(Pipeline.java:80) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:102) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:330) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:157) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:121) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:97) [68:org.apache.camel.camel-core:2.6.0] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) [:1.6.0_22] at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) [:1.6.0_22] at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) [:1.6.0_22] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98) [:1.6.0_22] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180) [:1.6.0_22] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204) [:1.6.0_22] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_22] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_22] at java.lang.Thread.run(Thread.java:662) [:1.6.0_22] Caused by: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/forem_1 at java.sql.DriverManager.getConnection(DriverManager.java:602) [:1.6.0_22] at java.sql.DriverManager.getConnection(DriverManager.java:185) [:1.6.0_22] at com.ibatis.common.jdbc.SimpleDataSource.popConnection(SimpleDataSource.java:580) [224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3] at com.ibatis.common.jdbc.SimpleDataSource.getConnection(SimpleDataSource.java:222) [224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3] at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.init(JdbcTransaction.java:48) [224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3] at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.getConnection(JdbcTransaction.java:89) [224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3] at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeUpdate(MappedStatement.java:94) [224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3] ... 44 more 13:56:40,050 | ERROR | //activemq/input | GenericFileOnCompletion | 68 - org.apache.camel.camel-core - 2.6.0 | Caused by: [com.ibatis.common.jdbc.exception.NestedSQLException - — The error occurred in User.xml. — The error occurred while executing mapped statement. — Check the deleteUser. — Check the statement or the result map. — Cause: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/forem_1] com.ibatis.common.jdbc.exception.NestedSQLException: — The error occurred in User.xml. — The error occurred while executing mapped statement. — Check the deleteUser. — Check the statement or the result map. — Cause: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/forem_1 at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeUpdate(MappedStatement.java:107) [224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3] at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.update(SqlMapExecutorDelegate.java:457) [224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3] at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.delete(SqlMapExecutorDelegate.java:480) [224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3] at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.delete(SqlMapSessionImpl.java:98) [224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3] at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.delete(SqlMapClientImpl.java:74) [224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3] at org.apache.camel.component.ibatis.IBatisProducer.doDelete(IBatisProducer.java:164) [225:org.apache.camel.camel-ibatis:2.6.0] at org.apache.camel.component.ibatis.IBatisProducer.process(IBatisProducer.java:55) [225:org.apache.camel.camel-ibatis:2.6.0] at org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:50) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:104) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:272) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:98) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:99) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:299) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:208) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:269) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.Pipeline.process(Pipeline.java:125) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.Pipeline.process(Pipeline.java:80) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:102) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:330) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:157) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:121) [68:org.apache.camel.camel-core:2.6.0] at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:97) [68:org.apache.camel.camel-core:2.6.0] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) [:1.6.0_22] at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) [:1.6.0_22] at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) [:1.6.0_22] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98) [:1.6.0_22] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180) [:1.6.0_22] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204) [:1.6.0_22] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_22] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_22] at java.lang.Thread.run(Thread.java:662) [:1.6.0_22] Caused by: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/forem_1 at java.sql.DriverManager.getConnection(DriverManager.java:602) [:1.6.0_22] at java.sql.DriverManager.getConnection(DriverManager.java:185) [:1.6.0_22] at com.ibatis.common.jdbc.SimpleDataSource.popConnection(SimpleDataSource.java:580) [224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3] at com.ibatis.common.jdbc.SimpleDataSource.getConnection(SimpleDataSource.java:222) [224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3] at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.init(JdbcTransaction.java:48) [224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3] at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.getConnection(JdbcTransaction.java:89) [224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3] at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeUpdate(MappedStatement.java:94) [224:org.apache.servicemix.bundles.ibatis-sqlmap:2.3.4.726_3] ... 44 more
        Hide
        Michael Dewitte added a comment -

        As Charles told me, I set the dynamic import on camel-ibatis (karaf@root> dev:dynamic-import --help
        DESCRIPTION
        dev:dynamic-import

        Enable/disable dynamic-import for a given bundle

        SYNTAX
        dev:dynamic-import [options] id

        ARGUMENTS
        id
        The bundle ID

        OPTIONS
        --help
        Display this help message
        )

        and now, it works... Still having the 2 first issues (the fact that it doesn't work with blueprint and it works with SpringXML and the fact that the server must have access to the internet because it tries fetching the SqlMapConfig.dtd...)

        Show
        Michael Dewitte added a comment - As Charles told me, I set the dynamic import on camel-ibatis (karaf@root> dev:dynamic-import --help DESCRIPTION dev:dynamic-import Enable/disable dynamic-import for a given bundle SYNTAX dev:dynamic-import [options] id ARGUMENTS id The bundle ID OPTIONS --help Display this help message ) and now, it works... Still having the 2 first issues (the fact that it doesn't work with blueprint and it works with SpringXML and the fact that the server must have access to the internet because it tries fetching the SqlMapConfig.dtd...)
        Hide
        Maxim V. Varfolomeyev added a comment -

        The reason for failure without internet access is probably com.ibatis.sqlmap.engine.builder.xml package (the one that contains DTD's) missing from classpath of your bundle (using camel-ibatis).
        Adding com.ibatis.sqlmap.engine.builder.xml to Import-Package in your POM seems the shortest workaround.
        Though it's really worth checking if any changes to camel-ibatis can help...

        Show
        Maxim V. Varfolomeyev added a comment - The reason for failure without internet access is probably com.ibatis.sqlmap.engine.builder.xml package (the one that contains DTD's) missing from classpath of your bundle (using camel-ibatis). Adding com.ibatis.sqlmap.engine.builder.xml to Import-Package in your POM seems the shortest workaround. Though it's really worth checking if any changes to camel-ibatis can help...
        Gert Vanthienen made changes -
        Project ServiceMix [ 12311206 ] ServiceMix 4 [ 12311208 ]
        Key SM-2062 SMX4-1383
        Component/s Assemblies [ 12317015 ]
        Component/s samples [ 12314005 ]
        Component/s documentation [ 12314011 ]
        Hide
        Gert Vanthienen added a comment -

        Moving this issue to the ServiceMix 4

        Show
        Gert Vanthienen added a comment - Moving this issue to the ServiceMix 4
        Gert Vanthienen made changes -
        Fix Version/s 4.5.1 [ 12324072 ]
        Affects Version/s 4.3.0 [ 12315741 ]
        Gert Vanthienen made changes -
        Fix Version/s 4.5.2 [ 12324246 ]
        Fix Version/s 4.5.1 [ 12324072 ]
        Gert Vanthienen made changes -
        Fix Version/s 4.5.3 [ 12324650 ]
        Fix Version/s 4.5.2 [ 12324246 ]
        Gert Vanthienen made changes -
        Fix Version/s 4.6.0 [ 12321272 ]
        Fix Version/s 4.5.3 [ 12324650 ]

          People

          • Assignee:
            Unassigned
            Reporter:
            Michael Dewitte
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:

              Development